【发布时间】:2021-08-06 04:59:01
【问题描述】:
在 TypeORM(json、env、yml...)提供的几种连接数据库的方法中,我选择使用常规 TypeScript 文件在项目代码中以编程方式设置连接选项如下:
// src/database/createConnection.ts
import { createConnection } from 'typeorm';
const connectionOptions = {
type: 'postgres',
host: POSTGRES_HOST_PROD,
port: Number(POSTGRES_PORT),
username: POSTGRES_USER,
password: POSTGRES_PASSWORD,
database: POSTGRES_DB,
entities: ['build/entities/**/typeDef.js'],
migrations: ['build/database/migrations/*.js'],
cli: {
migrationsDir: 'src/database/migrations/'
}
};
await createConnection(connectionOptions);
使用由常规 .env 文件提供的值。
我的问题是,当尝试通过 npx typeorm migration:generate -n initial 创建迁移文件时出现错误,因为该命令需要存在特定的 orm 配置文件(ormconfig.env、ormconfig.json 等)。
由于我已经设置了连接选项,这不仅是多余的,它还将被处理而不是我已经在 .ts 文件中设置的配置,我看到的唯一解决方案是重命名变量在我的(非 typeorm 特定的).env 文件中匹配 specific TypeORM variable names,我不想这样做。
TL:DR 有没有一种方法可以在不创建专用 orm 配置文件的情况下生成 TypeORM 迁移?
【问题讨论】:
-
我不知道如何避免创建多余的 ormconfig.json 文件,但它应该只是多余的。我认为这不会影响您的产品连接。
-
好的,谢谢。拥有两个包含机密的单独文件远非理想。
-
你不需要本地的秘密;只需将其指向您的数据库开发实例即可。
-
这只是为了帮助您生成迁移,而不是运行它们...
标签: node.js typescript postgresql migration typeorm