Migration 生成迁移不需要';我看不到我的连接

Migration 生成迁移不需要';我看不到我的连接,migration,nestjs,typeorm,Migration,Nestjs,Typeorm,我把与数据库的连接作为一个单独的模块 @Module({ imports: [ TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: configService => ({ type: configService.get('DATABAS

我把与数据库的连接作为一个单独的模块

@Module({
    imports: [
        TypeOrmModule.forRootAsync({
            imports: [ConfigModule],
            inject: [ConfigService],
            useFactory: configService => ({
                type: configService.get('DATABASE_TYPE'),
                host: configService.get('DATABASE_HOST'),
                port: configService.get('DATABASE_PORT'),
                username: configService.get('DATABASE_USERNAME'),
                password: configService.get('DATABASE_PASSWORD'),
                database: configService.get('DATABASE_NAME'),
                entities: ['./dist/**/*.entity.{js,ts}'],
                synchronize: false,
                migrationsRun: true,
                logging: true,
                migrations: ['./dist/modules/database/migration/*.{js,ts}'],
                cli: {
                    migrationsDir: 'src/modules/database/migration',
                },
            }),
        }),
    ],
})
export class DatabaseModule {}
这在docker容器中运行良好。但是当我想要运行迁移的创建时,我得到了错误

Error: No connection options were found in any orm configuration files.
    at ConnectionOptionsReader.<anonymous> (/Users/user1/Documents/app/src/connection/ConnectionOptionsReader.ts:43:19)

在命令中,我没有指定连接konyig,据我所知,orm找不到我的连接配置,我如何告诉我?

问题是TypeORM的CLI不知道在您的嵌套应用程序中,您使用
TypeormModule来配置连接。CLI希望配置采用中描述的以下格式之一

因此,解决问题的最简单方法是创建一个名为
ormconfig.js
的文件,并在此处设置连接配置。像这样:

module.exports = {
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "test",
  "password": "test",
  "database": "test"
}
假设您的
configService
读取环境变量中的值,您还可以执行以下操作:

module.exports = {
  "type": "mysql",
  "host": process.env.DB_HOST,
  "port": process.env.DB_PORT,
  "username": process.env.DB_USERNAME,
  "password": process.env.DB_PASSWORD,
  "database": process.env.DB_DATABASE
}
因此,配置与应用程序中的配置相同

module.exports = {
  "type": "mysql",
  "host": process.env.DB_HOST,
  "port": process.env.DB_PORT,
  "username": process.env.DB_USERNAME,
  "password": process.env.DB_PASSWORD,
  "database": process.env.DB_DATABASE
}