相关疑难解决方法(0)

使用 NestJS 和 TypeORM 为项目生成迁移文件

我正在尝试为我的实体生成迁移文件,但是每当我运行命令来创建实体时,它都会创建一个“空”文件,只创建 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,
    })
Run Code Online (Sandbox Code Playgroud)

database()它是一个nestjs配置文件,从文件.ENV获取值。

我用来创建迁移的脚本是:npm run typeorm migration:create -- -n QuestionTables -d src/migrations需要指定-d 的地方,否则不会创建迁移文件(即使它在 forRoot 方法的 cli 中指定。

我是否需要手动编写 SQL 来创建表?

如果我需要向现有表添加新列,我应该创建一个新的迁移文件并手动编写 SQL 代码来添加它吗?

我尝试运行的另一个命令是这个:npm run typeorm migration:generate -- -n QuestionTables -d src/migrations在这里它给了我一个错误:“错误:在任何 orm …

typescript typeorm nestjs

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

nestjs ×1

typeorm ×1

typescript ×1