TypeORM CLI - 如何在特定数据库上运行迁移

Posted

技术标签:

【中文标题】TypeORM CLI - 如何在特定数据库上运行迁移【英文标题】:TypeORM CLI - How to run MIGRATIONS on a SPECIFIC DATABASE 【发布时间】:2021-10-20 22:41:51 【问题描述】:

我的ormconfig.json 有多个数据库,如何为这个列表的SPECIFIC DB 运行迁移?在下面的示例中,我已经设置了迁移的 dev 数据库,现在我需要为名为 test 的另一个数据库设置迁移。

我想运行这样的命令:

yarn typeorm migration:run --database test

// ormconfig.json

[
  
    "name": "dev",
    "type": "postgres",
    "host": "localhost",
    "port": 5432,
    "username": "postgres",
    "password": "postgres",
    "database": "postgres",
    "synchronize": true,
    "logging": true,
    "entities": ["src/typeorm/entity/**/*.ts"],
    "migrations": ["src/typeorm/migration/**/*.ts"],
    "subscribers": ["src/typeorm/subscriber/**/*.ts"],
    "cli": 
      "entitiesDir": "src/typeorm/entity",
      "migrationsDir": "src/typeorm/migration",
      "subscribersDir": "src/typeorm/subscriber"
    
  ,
  
    "name": "test",
    "type": "postgres",
    "host": "localhost",
    "port": 5433,
    "username": "postgres",
    "password": "postgres",
    "database": "postgres",
    "synchronize": true,
    "logging": false,
    "entities": ["src/typeorm/entity/**/*.ts"],
    "migrations": ["src/typeorm/migration/**/*.ts"],
    "subscribers": ["src/typeorm/subscriber/**/*.ts"],
    "cli": 
      "entitiesDir": "src/typeorm/entity",
      "migrationsDir": "src/typeorm/migration",
      "subscribersDir": "src/typeorm/subscriber"
    
  
]

【问题讨论】:

【参考方案1】:

只要运行:

yarn typeorm migration:run -c configName 其中 configName 是您的 ormconfig.json 数据库列表中配置的 name

【讨论】:

以上是关于TypeORM CLI - 如何在特定数据库上运行迁移的主要内容,如果未能解决你的问题,请参考以下文章

nestjs使用Typeorm实现数据库CRUD操作

使用 Vue CLI Plugin Electron Builder 构建电子应用程序(在初始化之前无法访问“fa”)-TypeORM 关联 ManyToOne

TypeORM - 如何在生产模式下创建新表并自动运行迁移?

连接到特定的星号实例 CLI

使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错 [关闭]

Typeorm 不使用 ormconfig.json 文件