Aquí está la configuración:
@Module({ imports: [ TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (configService: ConfigService) => ({ type: 'postgres', host: configService.get('DB_HOST'), port: configService.get('DB_PORT'), username: configService.get('DB_USER'), password: configService.get('DB_PASSWORD'), database: configService.get('DB_NAME'), entities: [ __dirname + '/../**/*.entity{.ts,.js}', ], // synchronize: true, }) }), ], }) export class DatabaseModule {}Las conexiones con la base de datos en sí funcionan, pero cuando intento configurar las migraciones arroja errores. Lo que he intentado es agregar las opciones de migración en la configuración anterior y crear ormconfig.js adicionales con las configuraciones. Esto es lo que tengo en el archivo package.json:
"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js"El problema es que cuando trato de crear una migración, no se crea en la carpeta de migraciones como quiero y no usa la configuración anterior, ¿cómo resolverlo?
Si está utilizando typeorm o 3.0 o versiones más nuevas, debe hacerlo directamente en la CLI:
typeorm migration:create src/migration_path Para versiones anteriores, puede agregar el siguiente comando al archivo ormconfig :
"cli": { "migrationDir": "./src/migration_path" }Primero, debe establecer la ruta de migración en la configuración del módulo
TypeOrmModule.forRootAsync({ // other properties entities: [ __dirname + '/../**/*.entity{.ts,.js}', // from the question ], migrations:[/*I assume you already know migration file paths*/] })luego, Para generar un archivo de migración
npx typeorm migration:create -n FileName -d src/migrations En este punto, debe llamar a runMigrations() . agregue el siguiente código en su main.ts
const conn = await getConnection('default'); // connection name is "default" await conn.runMigrations();TypeORM CLI lee la configuración en un archivo ormconfig.json u ormconfig.js en la raíz del proyecto.
Debe extraer esta configuración en succionar un archivo y luego importar este archivo en su DatabaseModule para que ambas cosas funcionen.