Introducci贸n

1

驴Ya terminaste el Curso de NestJS: Programaci贸n Modular?

2

Platzi Store: presentaci贸n del proyecto e instalaci贸n

Database

3

C贸mo instalar Docker para este proyecto

4

Configuraci贸n de PostgresSQL en Docker

5

Explorando postgres con interfaces gr谩ficas y terminal

6

Integraci贸n de node-postgres con NestJS

7

Conexi贸n como inyectable y ejecutando un SELECT

8

Usando variables de ambiente

TypeORM

9

驴Qu茅 es un ORM? Instalando y configurando TypeORM Module

10

Creando tu primera entidad

11

TypeORM: active record vs. repositories

12

Crear, actualizar y eliminar

13

Cambiar a Mysql demo (opcional)

Migraciones

14

Sync Mode vs. Migraciones en TypeORM

15

Configurando migraciones y npm scripts

16

Corriendo migraciones

17

Modificando una entidad

Relaciones

18

Relaciones uno a uno

19

Resolviendo la relaci贸n uno a uno en el controlador

20

Relaciones uno a muchos

21

Resolviendo la relaci贸n uno a muchos en el controlador

22

Relaciones muchos a muchos

23

Resolviendo la relaci贸n muchos a muchos en el controlador

24

Manipulaci贸n de arreglos en relaciones muchos a muchos

25

Relaciones muchos a muchos personalizadas

26

Resolviendo la relaci贸n muchos a muchos personalizada en el controlador

Consultas

27

Paginaci贸n

28

Filtrando precios con operadores

29

Agregando indexadores

30

Modificando el naming

31

Serializar

Migraci贸n a NestJS 9 y TypeORM 0.3

32

Actualizando Dependencias para NestJS 9

33

Cambios en TypeORM 0.3

34

Migraciones en TypeORM 0.3

Pr贸ximos pasos

35

C贸mo solucionar una referencia circular entre m贸dulos

36

Contin煤a con el Curso de NestJS: Autenticaci贸n con Passport y JWT

Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Configuraci贸n de PostgresSQL en Docker

4/36
Recursos
//.gitignore
*.env
/postgres_data
# docker-compose.yml
version: '3.3'

services:
  postgres:
    image: postgres:13
    environment:
     - POSTGRES_DB=my_db
     - POSTGRES_USER=root
     - POSTGRES_PASSWORD=123456
    ports:
      - '5432:5432'
    volumes:
      - ./postgres_data:/var/lib/postgresql/data
docker-compose up -d postgres
docker-compose ps
docker-compose down

Aportes 13

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Fue buena idea Nico que el curso sea con Postgres y no con MySQL ya que muchos cursos son siempre con ese motor. Est谩 bueno la variante de conocer algo de Postgres. Saludos!

Es mas performante crear un volumen en vez de hacer un bind-mount. A quien le interese puede informarse mas del tema en:

https://blog.logrocket.com/docker-volumes-vs-bind-mounts/

aqui va mi docker-compose modificado:

version: '3.3'

services:
  postgres:
    image: postgres:13
    environment:
     - POSTGRES_DB=my_db
     - POSTGRES_USER=root
     - POSTGRES_PASSWORD=123456
    ports:
      - '5432:5432'
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data: {}

El curso va genial hasta el momento. Es un gran plus utilizar docker.

Los comandos que me funcionaron en el docker en mac fueron:
docker compose up -d postgres
docker compose ps
docker compose down

Recuerden que NO DEBEN SUBIR sus variables de entorno a git, por eso les recomiendo que en lugar de agregar una a una dichas variables en el archivo de compose, lo mejor es cargar a nuestro contenedor el archivo .env con todas nuestras variables, para ello, deben hacerlo de la siguiente manera:

version: '3.3'

services:
  postgres:
    image: postgres:13
    env_file:
      - <NAME>.env
    ports:
      - '5432:5432'
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data: {}

NO OLVIDEN REEMPLAZAR <NAME> por el nombre de su archivo

IMPORTANTE: En el minuto 4:20 aprox, Nico menciona que el puerto 5432 es el puerto en el corre Docker por defecto, pero en realidad, es el puerto por defecto que usa PostgreSQL.

En este punto Nico menciona que el puerto 5432 es el puerto en el corre Docker por defecto, pero en realidad, es el puerto por defecto que usa PostgreSQL.

Fue muy buena esta clase, no hab铆a montado un Docker y en otros videos ve铆a dif铆cil la configuraci贸n pero aqu铆 me pareci贸 muy sencillo

version: '3.3'
services:
  postgres:
    image: postgres:14
    env_file:
      - .env
    ports:
      - '5432:5432'
    volumes:
      - ./postgres_data:/var/lib/postgresql/mydata
volumes:
  postgres_data: {}

Antes de ejecutar el comando docker-compose up -d postres es importante levantar el servicio con ```
sudo service docker start

ERROR: for postgres Cannot start service postgres: driver failed programming external connectivity on endpoint nest_typeorm_postgres_1 (bfba7d603b5ba2b8c4cf17928466d102f705be3030bbda4a785b6b3484daec13): Error starting userland proxy: listen tcp4 0.0.0.0:5432: bind: address already in use
ERROR: Encountered errors while bringing up the project.

Para los que le aparece este error y usan linux, aca esta el comando con el que lo pude solucionar.

sudo service postgresql stop

Si son usuarios Ubuntu, como yo, usen 鈥榮udo鈥 antes de cualquier comando relacionado a Docker. De no hacer esto, seguro les arroja un error en la terminal, as铆 que es sencillo de corregir.

馃憦