【发布时间】:2020-12-30 02:01:21
【问题描述】:
我正在尝试为我的实体生成迁移文件,但是每当我运行创建实体的命令时,它都会创建一个“空”文件,只创建 up 和 down 方法。
我在我的 package.json 文件中添加了这个脚本:"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js"。
在我的 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: ['src/migration/*{.ts,.js}'],
cli: {
migrationsDir: 'src/migration'
},
synchronize: true,
})
database() 是一个 Nestjs 配置文件,并从 .env 文件中获取值。
我用来创建迁移的脚本是:npm run typeorm migration:create -- -n QuestionTables -d src/migrations这里需要指定-d,否则不会创建迁移文件(即使是在forRoot 方法。
是否需要手动编写 SQL 来创建表?
如果我需要向现有表添加新列,我应该创建一个新的迁移文件并手动编写 SQL 代码来添加它吗?
我尝试运行的另一个命令是:npm run typeorm migration:generate -- -n QuestionTables -d src/migrations,它给了我一个错误:“错误:在任何 orm 配置文件中找不到连接选项。”
【问题讨论】:
标签: typescript nestjs typeorm