Gerador TypeORM Init
Gere um data-source.ts inicial do TypeORM com conexão PostgreSQL pronta, em TypeScript. Copie o arquivo e comece a usar entidades e migrations no seu projeto.
Data source do TypeORM ligado ao Postgres
O TypeORM exige um DataSource montado antes de qualquer entidade servir para alguma coisa. É ali que ficam host, porta, a flag synchronize e os globs de entities e migrations, e errar qualquer um desses gera erro de conexão com cara de problema de banco, quando é só configuração. Esta página entrega um data-source.ts inicial para Postgres lendo tudo de variáveis de ambiente.
A saída é fixa e não há formulário: uma função devolve o mesmo texto sempre, já renderizado quando a página abre. Cada campo tem fallback, então DB_HOST vira localhost, DB_PORT vira 5432 e DB_NAME vira app, e dá para rodar local sem .env nenhum. O synchronize: false é escolha deliberada; com true, o TypeORM reescreve o schema a cada boot, o que serve para rascunho e é perigoso em produção.
Depois de colar, confira três coisas. O tsconfig precisa de experimentalDecorators e emitDecoratorMetadata, senão as entidades nem compilam. Os globs apontam para src/entities/*.ts, então, quando o tsc gerar a pasta dist, você tem que apontar para dist/entities/*.js. E o data source não conecta sozinho: chame AppDataSource.initialize() no bootstrap e trate a promise. A geração acontece inteira no seu navegador.
Perguntas frequentes
Dá para gerar a versão MySQL ou SQLite?
Por que as minhas entidades não são encontradas em produção?
Preciso mesmo do import 'reflect-metadata'?
Ferramentas Relacionadas
Gerador Prisma Init
Gera um schema.prisma inicial com datasource PostgreSQL e um modelo de exemplo.
Gerador Sequelize Init
Gera o config/config.js do Sequelize ORM com os ambientes de desenvolvimento, teste e produção, todos no dialeto postgres. Copie e ajuste as credenciais.
Gerador Drizzle Init
Gera um drizzle.config.ts para o Drizzle ORM com dialeto PostgreSQL, pronto para migrations. Copie o arquivo e configure o seu schema type-safe.