返回

typescript-从数据源迁移获取错误:无法对“执行操作”;“违约”;连接,因为连接尚未建立

发布时间:2022-05-01 06:36:47 300

My typeorm version is 0.3.6.

每当我尝试使用数据源时。runMigration()我得到这个错误,

MIGRATION ERROR:CannotExecuteNotConnectedError: Cannot execute operation on "default" connection because connection is not yet established.

我检查了迁移文件的 url,它是正确的。 我错过了什么?

数据源.ts

export const dataSource = new DataSource({
  host:__prod__ ?   process.env.HOST_PROD : process.env.HOST_DEV,
  type: "postgres",
  ...(__prod__
    ? {
        url: process.env.DATABASE_URL,
        username: process.env.PG_USERNAME_PROD,
        password: process.env.PG_PASSWORD_PROD,
        database: process.env.DATABASE_NAME_PROD,
      }
    : {
        username: process.env.PG_USERNAME_DEV,
        password: process.env.PG_PASSWORD_DEV,
        database: process.env.DATABASE_NAME_DEV,
      }),
  ...(__prod__
    ? {
        extra: {
          ssl: {
            rejectUnauthorized: false,
          },
        },
        ssl: true,
      }
    : {}),
  // ...(__prod__ ? {} : { synchronize: true }),
  logging: true,
  entities: [
    Admin,
    ...
  ],
  migrations: [join(__dirname,"/migrations/*")],
});

使用 prod 变量是一个布尔变量,用于检查应用程序是否在生产中。

我在 index.ts 中调用它

try {
    try {
 
       await dataSource.runMigrations();
    } catch (error) {
      console.log(`MIGRATION ERROR:${error}`)
    }
    await dataSource.initialize();
  } catch (error) {
    console.log(`TypeORM STARTING ERROR:${error}`);
  }

我的文件结构

server
---dist
------migrations/*.js
      ...
---src
      ...
------migrations/*.ts
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像