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

如何使用TypeORM迁移指定特定数据库连接?

指定TypeORM连接执行迁移的方法

当你配置了多个数据库连接后,只需要通过TypeORM CLI的参数或者代码调用时指定连接名称,就能针对特定连接执行迁移操作了。下面是几种实用的实现方式:

1. 直接用TypeORM CLI命令指定

TypeORM CLI提供了--connection(简写为-c)参数,用来匹配你在ormconfig.json里定义的name字段值,精准定位要操作的连接。

给你几个常用命令的示例:

  • 运行所有待执行的迁移:
    typeorm migration:run --connection default
    
  • 根据实体变化生成新的迁移文件:
    typeorm migration:generate -n UserTableUpdate --connection default
    
  • 回滚最近一次执行的迁移:
    typeorm migration:revert --connection default
    

2. 在package.json中配置脚本(更省心)

如果你不想每次都手动敲参数,可以把指定连接的迁移命令封装成npm脚本,放在项目的package.json里:

{
  "scripts": {
    "migrate:default": "typeorm migration:run --connection default",
    "migrate:make:default": "typeorm migration:generate -n NewFeatureMigration --connection default",
    "migrate:undo:default": "typeorm migration:revert --connection default"
  }
}

之后只需运行对应的npm命令即可,比如:

npm run migrate:default

3. 代码中手动执行(适合自动化场景)

如果是在测试流程或者自动化脚本里需要触发迁移,可以通过TypeORM的API指定连接来操作:

import { getConnection } from "typeorm";

// 封装一个执行指定连接迁移的函数
async function runConnectionMigrations(connectionName: string) {
  const connection = await getConnection(connectionName);
  // 执行迁移
  await connection.runMigrations();
  // 若需要回滚,可替换为:await connection.undoLastMigration();
}

// 调用函数,指定目标连接
runConnectionMigrations("default").catch(err => {
  console.error("迁移执行失败:", err);
  process.exit(1);
});

需要注意的是,你的ormconfig.json是数组格式,TypeORM会自动识别每个对象的name属性,只要确保你指定的名称和配置里的完全一致(大小写敏感)就不会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:34:05