之前版本的typeOrm不需要指定datasource。
但现在不加这个参数执行迁移就会报错。
下面是我的目录结构:
// 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
迁移成功: