如何解决NestJS,PortsgreSQL和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,"cli": {
"migrationsDir": "src/migrations"
}
...
正在通过TypeORM CLI创建迁移文件,它们将填充某些表(插入语句)。它们与数据库架构中的更改无关。
请,有人可以帮助我使它正常工作吗?
解决方法
那真是愚蠢! 我想有时候最简单的问题最难发现。
问题出在ormconfig.json
文件中。
我删除了这个空白("migrations ":
),一切正常。
您应该已将其同步为假synchronize:false
然后从终端运行
npx typeorm migration:generate -n AnyNameYouWant
之后,您可以运行
npx typeorm migration:run
在运行这些命令之前,您可能还必须运行nest build
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。