Banco de Dados e Migrações
Gerenciando esquemas de banco de dados, migrações e seeds.
O Urbis utiliza PostgreSQL como seu banco de dados primário e TypeORM para mapeamento objeto-relacional.
Conexão
A conexão com o banco de dados é configurada em apps/api/src/common/database/database.module.ts. Ela lê as credenciais de variáveis de ambiente (DB_HOST, DB_PORT, DB_USERNAME, etc.).
Migrações
Utilizamos migrações de banco de dados para gerenciar alterações de esquema ao longo do tempo. Isso garante que o esquema do banco de dados seja controlado por versão e possa ser replicado em diferentes ambientes (dev, staging, prod).
Executando Migrações
Para aplicar migrações pendentes:
pnpm migration:runCriando Migrações
Para gerar uma nova migração baseada em alterações nas suas entidades:
pnpm migration:generate --name=NomeDaMigracaoPara criar um arquivo de migração vazio:
pnpm migration:create --name=NomeDaMigracaoRevertendo Migrações
Para desfazer a última migração:
pnpm migration:revertSeeding
Seeding nos permite popular o banco de dados com dados iniciais ou de teste.
Para executar os seeds:
pnpm db:seedO script de seed está localizado em apps/api/src/common/database/seeds/run-seed.ts.