NestJS,PortsgreSQL和TypeORM-迁移无法正常运行

时间:2020-08-25 17:20:08

标签: postgresql nestjs typeorm

当尝试在应用程序启动时自动运行或通过TypeORM CLI手动运行TypeORM迁移时,仅创建迁移表(并且该表保持为空)。迁移文件本身未在执行。

这是我的tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true
  }
}

这是我的package.json

...
"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js",
...

这是我的ormconfig.json

...
"entities": ["dist/**/*.entity{.ts,.js}"],
"synchronize": true,
"migrationsRun": true,
"migrations ": ["dist/migrations/*{.ts,.js}"],
"cli": {
    "migrationsDir": "src/migrations"
  }
...

正在通过TypeORM CLI创建迁移文件,它们将填充某些表(插入语句)。它们与数据库架构中的更改无关。

请,有人可以帮助我使它正常工作吗?

2 个答案:

答案 0 :(得分:1)

那真是愚蠢! 我想有时候最简单的问题最难发现。

问题出在ormconfig.json文件中。 我删除了这个空白("migrations ":),一切正常。

答案 1 :(得分:0)

您应该已将其同步为假synchronize:false

然后从终端运行

npx typeorm migration:generate -n AnyNameYouWant

之后,您可以运行

npx typeorm migration:run

在运行这些命令之前,您可能还必须运行nest build