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

如何在NestJS中配置TypeOrm及数据库迁移功能?

NestJS TypeORM 迁移文件生成路径配置步骤
  • 1. 更新 ormconfig.ts,添加 CLI 配置
    在现有配置中加入cli字段,并调整迁移文件匹配规则,确保能识别子目录中的迁移文件:

    import { TypeOrmModuleOptions } from '@nestjs/typeorm';
    
    const ormconfig: TypeOrmModuleOptions = {
      type: 'postgres',
      host: process.env.POSTGRES_HOST,
      port: +process.env.POSTGRES_PORT,
      username: process.env.POSTGRES_USER,
      password: process.env.POSTGRES_PASSWORD,
      database: process.env.POSTGRES_DB,
      entities: [__dirname + '/../**/*.entity.{js,ts}'],
      synchronize: false,
      migrations: [__dirname + '/../database/migrations/**/*.{js,ts}'], // 改为匹配子目录下的所有迁移文件
      migrationsRun: true,
      cli: {
        migrationsDir: 'database/migrations' // 指定CLI生成迁移文件的根目录
      }
    };
    
    export default ormconfig;
    
  • 2. 配置 package.json 中的脚本命令
    在scripts字段中添加迁移创建命令,使用ts-node加载TypeORM CLI(适配TS格式的配置文件):

    {
      "scripts": {
        // 保留原有脚本...
        "migration:create": "ts-node ./node_modules/typeorm/cli.js migration:create -d ./ormconfig.ts database/migrations/$1"
      }
    }
    

    若未安装ts-node,先执行yarn add -D ts-node完成安装。

  • 3. 执行迁移创建命令
    运行以下命令即可生成指定子目录的迁移文件:

    yarn migration:create "NameOfTheMigration"
    

    执行后,TypeORM会自动在database/migrations/下创建NameOfTheMigration目录,并生成格式为timestamp-NameOfTheMigration.ts的迁移文件。

内容的提问来源于stack exchange,提问作者Thomas Dupré

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:27:05