【问题标题】:TypeORM: Generate migrations without dedicated ormconfig fileTypeORM:在没有专用 ormconfig 文件的情况下生成迁移
【发布时间】:2021-08-06 04:59:01
【问题描述】:

TypeORM(json、env、yml...)提供的几种连接数据库的方法中,我选择使用常规 TypeScript 文件在项目代码中以编程方式设置连接选项如下:

// src/database/createConnection.ts

import { createConnection } from 'typeorm';

    const connectionOptions = {
        type: 'postgres',
        host: POSTGRES_HOST_PROD,
        port: Number(POSTGRES_PORT),
        username: POSTGRES_USER,
        password: POSTGRES_PASSWORD,
        database: POSTGRES_DB,
        entities: ['build/entities/**/typeDef.js'],
        migrations: ['build/database/migrations/*.js'],
        cli: {
            migrationsDir: 'src/database/migrations/'
        }
    };

await createConnection(connectionOptions);

使用由常规 .env 文件提供的值。

我的问题是,当尝试通过 npx typeorm migration:generate -n initial 创建迁移文件时出现错误,因为该命令需要存在特定的 orm 配置文件(ormconfig.env、ormconfig.json 等)。

由于我已经设置了连接选项,这不仅是多余的,它还将被处理而不是我已经在 .ts 文件中设置的配置,我看到的唯一解决方案是重命名变量在我的(非 typeorm 特定的).env 文件中匹配 specific TypeORM variable names,我不想这样做。


TL:DR 有没有一种方法可以在不创建专用 orm 配置文件的情况下生成 TypeORM 迁移?


【问题讨论】:

  • 我不知道如何避免创建多余的 ormconfig.json 文件,但它应该只是多余的。我认为这不会影响您的产品连接。
  • 好的,谢谢。拥有两个包含机密的单独文件远非理想。
  • 你不需要本地的秘密;只需将其指向您的数据库开发实例即可。
  • 这只是为了帮助您生成迁移,而不是运行它们...

标签: node.js typescript postgresql migration typeorm


【解决方案1】:

哦,原来 TypeORM 已经有一个内置选项,不需要额外的 ormconfig 文件,只需将属性 migrationsRun: true 添加到连接选项(确保 synchronize 设置为 false) .

例如:

从“typeorm”导入 { createConnection };

const connectionOptions = {
    type: 'postgres',
    host: POSTGRES_HOST_PROD,
    port: Number(POSTGRES_PORT),
    username: POSTGRES_USER,
    password: POSTGRES_PASSWORD,
    database: POSTGRES_DB,
    migrationsRun: true,
    entities: ['build/entities/**/typeDef.js'],
    migrations: ['build/database/migrations/*.js'],
    cli: {
        migrationsDir: 'src/database/migrations/'
    }
};

等待 createConnection(connectionOptions);

【讨论】:

    猜你喜欢
    • 2019-11-17
    • 1970-01-01
    • 2021-10-17
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 2015-01-04
    • 2021-07-15
    相关资源
    最近更新 更多