新版本Nest CLI移除TypeORM选项,求可用npm:create的迁移创建命令
解决新版本Nest CLI移除TypeORM选项后的迁移创建问题
问题根源
新版本Nest CLI砍掉了内置的TypeORM支持,现在得直接用TypeORM原生CLI操作,而且TypeORM v0.3+的参数逻辑和旧版本不一样,之前的配置踩了参数错误的坑。
正确配置方式
1. 先明确参数规则
TypeORM创建迁移时,必须指定生成文件的目标路径,-n/--name是迁移名称(可选,但建议加上方便识别),-d参数是给migration:run/migration:revert用的(指定数据源配置文件),创建迁移时根本不需要它——这就是你报"Unknown argument: config"的原因。
2. 配置package.json脚本
直接把迁移创建命令写成动态指定路径的形式:
{ "scripts": { "migration:create": "typeorm migration:create ./src/migrations/$NAME" } }
执行的时候,用以下方式传递迁移名称:
- 用npm:
npm run migration:create -- --name=AddUserTable - 用yarn:
yarn migration:create --name=AddUserTable
如果不想每次手动输路径,也可以把路径固定在脚本里,只传名称:
{ "scripts": { "migration:create": "typeorm migration:create src/migrations/$npm_config_name" } }
执行:npm run migration:create --name=AddUserTable
3. 直接用npx调用(无需配置脚本)
如果不想改package.json,直接用npx调用TypeORM CLI:
npx typeorm migration:create src/migrations/AddUserTable
额外注意
- 确保你的TypeORM版本是v0.3+,如果是旧版本,参数逻辑会有差异,建议升级到稳定版。
- 数据源配置文件(比如
src/data-source.ts)只在运行/回滚迁移时用到,命令是typeorm migration:run -d src/data-source.ts,别搞混了创建和运行的参数。
内容的提问来源于stack exchange,提问作者Anjaa
相关产品推荐
相关产品推荐

