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

Create an account or log in

Keep learning for free! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
8 Hrs
13 Min
26 Seg

Explorando postgres con interfaces gráficas y terminal

5/36
Resources
# docker-compose.ymlversion: '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 pgadmin: 👈 add pgadmin image: dpage/pgadmin4 environment: - [email protected] - PGADMIN_DEFAULT_PASSWORD=root ports: - "5050:80"
docker ps docker inspect ID
CREATE TABLE tasks (id serial PRIMARY KEY, title VARCHAR ( 255 ) NOT NULL, completed boolean DEFAULT false);

Contributions 21

Questions 6

Sort by:

Want to see more contributions, questions and answers from the community?

A la hora de crear el server en pgAdmin en vez de poner el IP podemos ingresar el nombre de servicio (el de docker compose)

Host name/ address: postgres

Crear un servidor en pgAdmin

// En en el navegador
localhost:5050/browser

// Crear un servidor
Object> create > server

// create-server
En general:
my_db

En connection:
Host: la ip que del conentedor postgres
username: root
password: 123456

Estoy obteniendo el siguiente error, alguien tiene idea de porque? Segui el video tal cual y cuando ejecuto npm run start:dev pasa lo siguiente: C:\Users\Usuario\Desktop\Node\NestProjects\nest-api\node\_modules\pg-protocol\src\parser.ts:369 name === 'notice' ? new NoticeMessage(length, messageValue) : new DatabaseError(messageValue, length, name) ^ error: la autentificaci�n password fall� para el usuario �[email protected]� at Parser.parseErrorMessage (C:\Users\Usuario\Desktop\Node\NestProjects\nest-api\node\_modules\pg-protocol\src\parser.ts:369:69)

docker compose up -d pgadmin

docker facilita mucho el trabajo

Si definimos y asignamos un network de forma explicita es más sencilla la configuración de pg admin ![](https://static.platzi.com/media/user_upload/Screenshot%202025-01-11%20at%208.52.21PM-73969583-d44d-41d7-9919-f11545d58278.jpg) ```js networks: nest-postgres: driver: bridge services: db: image: postgres:14-alpine container_name: nest-postgres restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: nest-store ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data networks: - nest-postgres pgadmin: image: dpage/pgadmin4 container_name: pgadmin restart: always environment: PGADMIN_DEFAULT_EMAIL: [email protected] PGADMIN_DEFAULT_PASSWORD: admin ports: - "5050:80" volumes: - pgadmin-data:/var/lib/pgadmin networks: - nest-postgres volumes: postgres-data: pgadmin-data: ```
psql -h localhost -d my\_db -U root
si le slanza errores, mejor instalen asi: <https://www.pgadmin.org/download/pgadmin-4-apt/>
Siempre vengo revisito este gran curso!!
Mi docker-compose.yml utilizando variables de entorno ```js version: '3.3' services: postgres: image: postgres:13 env_file: - .env ports: - '5432:5432' volumes: - ./postgres_data:/var/lib/postgresql/data pgadmin: image: dpage/pgadmin4 env_file: - .env ports: - '5050:80' ```version: '3.3' services:  postgres:    image: postgres:13    env\_file:      - .env    ports:      - '5432:5432'    volumes:      - ./postgres\_data:/var/lib/postgresql/data   pgadmin:    image: dpage/pgadmin4    env\_file:      - .env    ports:      - '5050:80'
yo uso dbeaver como admin grafico para las bd, tiene una version community, compatible con varios motores de base de datos.

Crear un servidor en pgAdmin // En en el navegador localhost:5050/browser // Crear un servidor Object> create > server // create-server En general: my_db En connection: Host: la ip que del conentedor postgres username: root password: 123456

Tambien pueden poner lo siguiente en la url

host.docker.internal

grandioso!

Good Class!!

La ip del servicio sera siempre la misma?

Les recomiendo el siguiente recurso para administrar sus DBs.

https://dbeaver.io/

Es muy util, asi pueden centralizar todas las DBs.

Siguiendo los comandos del profesor no encontraba la bd, se soluciono con este comando simplificado:

psql my_db

Listo!

😯

En lugar de buscar la ip pueden usar en nombre del servicio y el puerto interno definidos en el archivo de compose.

Dado que pgadmin pertenece al mismo compose, puede resolver internamente la ip del servicio.

👏