NestJS、PortsgreSQL和TypeORM-迁移未正常运行

ymdaylpp  于 2022-09-21  发布在  PostgreSQL
关注(0)|答案(3)|浏览(213)

当尝试运行TypeORM迁移时,无论是在应用程序启动时自动运行还是通过TypeORM CLI手动运行,都只创建了迁移表(并且它保持为空)。不会执行迁移文件本身。

这是我的tsfig.json

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

这是我的包裹。json

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

这是我的ormfig.json

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

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

拜托,有谁能帮我把它修好吗?

ycl3bljg

ycl3bljg1#

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

问题出在ormconfig.json文件中。我删除了这个空格("migrations ":),一切都运行得很好。

ejk8hzay

ejk8hzay2#

您应该已同步到False synchronize:false

并从航站楼运行

npx typeorm migration:generate -n AnyNameYouWant

在那之后,你可以跑

npx typeorm migration:run

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

7uhlpewt

7uhlpewt3#

我认为这是为了使数据库与模式同步,这不是一个好主意。“Synchronize”:True,

相关问题