You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeORM执行migration:generate报错:缺少必填参数dataSource

TypeORM migration:generate 报错"Missing required argument: dataSource"解决方法

1. 脚本缺少数据源参数

你的migrate和migration:revert脚本都通过-d ./datasource.ts指定了数据源文件,但migration:generate脚本没加这个必要参数,TypeORM CLI无法定位数据源配置,因此触发报错。修改后的脚本如下:

"migration:generate": "ts-node node_modules/typeorm/cli.js migration:generate ./libs/database/migrations/$npm_config_name -d ./datasource.ts"

2. 修正datasource.ts的实体路径

你的datasource.ts中实体路径拼接存在问题:__dirname返回当前文件所在的根目录,直接拼接libs/...会生成类似/rootlibs/database/...的无效路径,导致TypeORM找不到实体文件。需要补充斜杠修正路径:

entities: [__dirname + '/libs/database/entities/*.entity{.ts,.js}'],
migrations: [__dirname + '/libs/database/migrations/*{.ts,.js}'],

也可以用path.join避免路径拼接错误,更可靠:

import { join } from 'path';

// ...
entities: [join(__dirname, 'libs', 'database', 'entities', '*.entity{.ts,.js}')],
migrations: [join(__dirname, 'libs', 'database', 'migrations', '*{.ts,.js}')],

3. 正确执行生成命令

运行迁移生成命令时,需要通过--name传递迁移名称,格式如下:

npm run migration:generate --name=YourMigrationName

内容的提问来源于stack exchange,提问作者jeyremd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 22:50:03