Node.js TypeORM:生成迁移而不使用专用的ormconfig文件
在连接到TypeORM(json、env、yml…)提供的数据库的几种方法中,我选择使用常规TypeScript文件在项目代码中以编程方式设置连接选项,如下所示:Node.js TypeORM:生成迁移而不使用专用的ormconfig文件,node.js,typescript,postgresql,migration,typeorm,Node.js,Typescript,Postgresql,Migration,Typeorm,在连接到TypeORM(json、env、yml…)提供的数据库的几种方法中,我选择使用常规TypeScript文件在项目代码中以编程方式设置连接选项,如下所示: // src/database/createConnection.ts import { createConnection } from 'typeorm'; const connectionOptions = { type: 'postgres', host: POSTGRES_HOST_
// 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
文件中已经设置的配置,我看到的唯一解决方案是重命名我(非特定类型).env
文件中的变量以匹配,我不希望这样做
TL:DR有没有一种方法可以在不创建专用orm配置文件的情况下生成TypeORM迁移
哦,原来TypeORM已经有了一个内置选项,它不需要额外的ormconfig文件,只需将属性
migrationsRun:true
添加到连接选项中(确保synchronize
设置为false)
例如:
从“typeorm”导入{createConnection}
const connectionOptions = {
type: 'postgres',
host: POSTGRES_HOST_PROD,
port: Number(POSTGRES_PORT),
username: POSTGRES_USER,
password: POSTGRES_PASSWORD,
database: POSTGRES_DB,
migrationsRun: true,
entities: ['build/entities/**/typeDef.js'],
migrations: ['build/database/migrations/*.js'],
cli: {
migrationsDir: 'src/database/migrations/'
}
};
等待createConnection(connectionOptions) 我不知道如何避免创建冗余的ormconfig.json文件,但它应该是冗余的。我认为这不会影响你的产品连接。好的,谢谢。有两个单独的秘密文件是不理想的。你不需要在本地文件中有秘密;只需将它指向数据库的开发实例。它只是帮助您生成迁移,而不是运行迁移。。。