使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错 [关闭]
Posted
技术标签:
【中文标题】使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错 [关闭]【英文标题】:Error when creating a new migration using TypeORM and NestJs with Typescript [closed] 【发布时间】:2020-12-29 10:54:08 【问题描述】:我有一个使用 typescript 的节点应用程序,我正在尝试按照 TypeORM 的文档创建一个新的迁移。
首先我安装了CLI,设置了我的连接选项,例如this,当我尝试运行这个命令时:
npm run typeorm migration:create -- -n migrationNameHere
我收到以下错误:
迁移创建期间出错:TypeError: Cannot read property 'startsWith' of undefined 在对象。 (...\src\commands\MigrationCreateCommand.ts:62:37) 在步骤 (...\node_modules\typeorm\node_modules\tslib\tslib.js:141:27) 在 Object.throw (...\node_modules\typeorm\node_modules\tslib\tslib.js:122:57) 在拒绝 (...\node_modules\typeorm\node_modules\tslib\tslib.js:113:69) npm ERR! 代码 ELIFECYCLE npm 错误! errno 1 npm 错误! backend@0.0.1 typeorm: 节点 --require ts-node/register ./node_modules/typeorm/cli.js "migration:create" "-n" "migrationNameHere"` npm ERR!退出状态 1
这些是我在 package.json 中的嵌套依赖项:
我的节点版本是v12.14.1,nestjs是7.0.0,nestjs/typeorm是7.1.3
我的 app.module.ts 是这样的:
TypeOrmModule.forRoot(
type: 'mysql',
host: database().host,
port: parseInt(database().port),
username: database().username,
password: database().password,
database: database().schema,
entities: [Question, QuestionOption],
migrations: ['migration/*.js'],
cli:
migrationsDir: 'migration'
,
synchronize: true,
)
有人遇到过这种问题吗?
【问题讨论】:
【参考方案1】:尝试添加带有迁移目标的标志,例如npx typeorm migration:create -n YourName -d src/migrations
【讨论】:
谢谢,秘密是 -d src/migrations,这样就创建了迁移文件。一件奇怪的事情是我在 app.module.ts 中配置了它(请参阅 migrationDir),我也尝试在其中添加 src/migration 但发生了同样的错误,但您的解决方案运行良好 谢谢!它也帮助了我。我相信错误信息应该更清楚一点。干杯 是的,这是真的。尽管如此,我很高兴能帮上忙! 谢谢,辛苦了!以上是关于使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错 [关闭]
未找到连接“默认”-TypeORM、NestJS 和外部 NPM 包
NestJS TypeORM MongoDB 无法使用 find 或 FindOne 搜索存储库