Consegui configurar a intância e subir as imagens no docker mas quando rodo as migrações com o comando:
typeorm-ts-node-esm -d ~/app/nestjs-migrations-orm/dist/db/data-source-cli.js migration:show
Recebo o seguinte erro:
error: database "db_loja" does not exist
Então acesso meu BD:
sudo docker exec -it nestjs-migrations-orm-postgres-1 bash
Acesso meu usuário:
psql -U docker
\l para listar:
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+--------+----------+------------+------------+------------+-----------------+-------------------
docker | docker | UTF8 | en_US.utf8 | en_US.utf8 | | libc |
postgres | docker | UTF8 | en_US.utf8 | en_US.utf8 | | libc |
template0 | docker | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/docker +
| | | | | | | docker=CTc/docker
template1 | docker | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/docker +
| | | | | | | docker=CTc/docker
Poerm o BD realmente não está lá!
Tento executar via linha de comando:
create database db_loja
Porém não cria!
Arquivos de configuração: ormconfig.json:
{
"type": "postgres",
"port": 65432,
"host": "localhost",
"username": "docker",
"password": "DMA39@braz",
"database": "db_loja",
"migrations": ["./dist/db/migrations/*.js"],
"entities": ["./dist/**/*.js"],
"cli": {
"migrationsDir": "./dist/db/migrations"
}
}
.env:
DB_HOST=localhost
DB_PORT=65432
DB_USERNAME=docker
DB_PASSWORD=minhasenha
DB_NAME=db_loja
DB_ADMIN_EMAIL=admin@root.com
docker-compose.yaml:
version: '3.5'
services:
postgres:
image: postgres:latest
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5432:5432"
networks:
- postgres
restart: unless-stopped
pgadmin:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: ${DB_ADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${DB_PASSWORD}
ports:
- "8081:80"
depends_on:
- postgres
networks:
- postgres
networks:
postgres:
driver: bridge
volumes:
postgres:
O que será que estou fazendo de errado?