我想在 Umzug 迁移中使用我的其他代码。我在 NestJS 项目中使用 Umzug 和 Sequelize。
乌姆祖格配置:
require('ts-node/register')
const umzug = new Umzug({
migrations: {
path: process.env.MIGRATIONS_PATH,
pattern: /\.ts$/,
},
storage: 'sequelize',
storageOptions: {
sequelize: sequelize,
}
});
await sequelize.sync().then(() => umzug.up())
移民:
import PostTypeId from "data/PostTypeId";
export async function up() {
}
export async function down() {
}
当 Umzug 在我的应用程序启动时运行时,它会打印:
[Nest] 316 - 02/21/2021, 11:24:42 AM [ExceptionHandler] Cannot find module 'data/PostTypeId'
Require stack:
- /home/node/app/backend/src/database/migrations/2021-02-17_22-11-00_game-data.ts
- /home/node/app/backend/node_modules/umzug/lib/migration.js
- /home/node/app/backend/node_modules/umzug/lib/index.js
- /home/node/app/backend/dist/database/database.providers.js
- /home/node/app/backend/dist/database/database.module.js
- /home/node/app/backend/dist/app.module.config.js
- /home/node/app/backend/dist/app.module.js
- /home/node/app/backend/dist/main.js +4344ms
Error: Cannot find module 'data/PostTypeId'
Require stack:
- /home/node/app/backend/src/database/migrations/2021-02-17_22-11-00_game-data.ts
- /home/node/app/backend/node_modules/umzug/lib/migration.js
- /home/node/app/backend/node_modules/umzug/lib/index.js
- /home/node/app/backend/dist/database/database.providers.js
- /home/node/app/backend/dist/database/database.module.js
- /home/node/app/backend/dist/app.module.config.js
- /home/node/app/backend/dist/app.module.js
- /home/node/app/backend/dist/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1029:15)
at Function.Module._load (internal/modules/cjs/loader.js:898:27)
at Module.require (internal/modules/cjs/loader.js:1089:19)
at require (internal/modules/cjs/helpers.js:73:18)
at Object.<anonymous> (/home/node/app/backend/src/database/migrations/2021-02-17_22-11-00_game-data.ts:3:1)
at Module._compile (internal/modules/cjs/loader.js:1200:30)
at Module.m._compile (/home/node/app/backend/node_modules/ts-node/src/index.ts:858:23)
at Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
at Object.require.extensions.<computed> [as .ts] (/home/node/app/backend/node_modules/ts-node/src/index.ts:861:12)
at Module.load (internal/modules/cjs/loader.js:1049:32)
at Function.Module._load (internal/modules/cjs/loader.js:937:14)
at Module.require (internal/modules/cjs/loader.js:1089:19)
at require (internal/modules/cjs/helpers.js:73:18)
at Migration.migration (/home/node/app/backend/node_modules/umzug/lib/migration.js:75:12)
at /home/node/app/backend/node_modules/umzug/lib/migration.js:121:37
at Generator.next (<anonymous>)
at asyncGeneratorStep (/home/node/app/backend/node_modules/umzug/lib/migration.js:9:103)
at _next (/home/node/app/backend/node_modules/umzug/lib/migration.js:11:194)
at /home/node/app/backend/node_modules/umzug/lib/migration.js:11:364
at new Promise (<anonymous>)
at /home/node/app/backend/node_modules/umzug/lib/migration.js:11:97
at Migration._exec (/home/node/app/backend/node_modules/umzug/lib/migration.js:139:7)
所以很明显它不能导入我想要的模块。但是如何在 Umzug 迁移中导入模块呢?我知道我可以在迁移参数中传递东西,但是在不同的迁移中我需要不同的参数。