Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeORM:生成迁移而不使用专用的ormconfig文件_Node.js_Typescript_Postgresql_Migration_Typeorm - Fatal编程技术网

Node.js TypeORM:生成迁移而不使用专用的ormconfig文件

Node.js TypeORM:生成迁移而不使用专用的ormconfig文件,node.js,typescript,postgresql,migration,typeorm,Node.js,Typescript,Postgresql,Migration,Typeorm,在连接到TypeORM(json、env、yml…)提供的数据库的几种方法中,我选择使用常规TypeScript文件在项目代码中以编程方式设置连接选项,如下所示: // src/database/createConnection.ts import { createConnection } from 'typeorm'; const connectionOptions = { type: 'postgres', host: POSTGRES_HOST_

在连接到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
文件中已经设置的配置,我看到的唯一解决方案是重命名我(非特定类型)
.env
文件中的变量以匹配,我不希望这样做


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



哦,原来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)

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