【NextJs】typeorm migration:run迁移数据库时报错:缺少必须的选项

175 阅读1分钟

参考文档

之前版本的typeOrm不需要指定datasource。

但现在不加这个参数执行迁移就会报错。

下面是我的目录结构:

migration.png

// ormconfig.ts
import { DataSource } from 'typeorm';

export const connectionSource = new DataSource({
    // migrationsTableName: 'migrations',
    type: 'postgres',
    host: 'localhost',
    port: 5432,
    username: 'postgres',
    password: 'ashley122',
    database: 'postgres',
    entities: ['dist/**/*.entity.js'],
    migrations: ['dist/migrations/*.js'],
    subscribers:['src/subscriber/**/*.ts']
});

运行migration指定的datasource也就是这个ormconfig.ts,

但是typeorm的datasource不能指定为typescript类型文件,识别不出来,

所以要么是把ormconfig用js写,要么是run build生成ormconfig.js,

也可以用typeorm-ts-node-commonjs或者typeorm-ts-node-esm命令代替typeorm,

执行迁移命令:

npx typeorm migration:run -d ./dist/ormconfig.js

迁移成功: migration-run.png