【问题标题】:TypeORM repository not found in one method but found in another在一种方法中找不到 TypeORM 存储库,但在另一种方法中找到
【发布时间】:2019-10-11 20:58:57
【问题描述】:

我在 nodeJS 中使用 TypeORM 连接到 postgresql 数据库。我遇到了这个奇怪的问题:

public static async organizationRelations(name){
    let connection = getConnection();

    const org = await connection.getRepository(Organization).find({
        where:[{name: name}]
    });
    return org;
}

有效,但这个:

public static async importOrganizations(body){
    let connection = getConnection();
    let objs = {};


    let o = await connection.getRepository(Organization).save(this.createObjects(body, objs));

}

没有。

对于保存的方法,我不断收到错误RepositoryNotFoundError: No repository for "Organization" was found. Looks like this entity is not registered in current "default" connection?

为什么它在一个函数中起作用而在另一个函数中不起作用?

【问题讨论】:

    标签: node.js postgresql typeorm


    【解决方案1】:

    我通过在 mu App.ts 中执行此操作使其工作

    private async databaseConnection(){
    await createConnection(options).then(connection =>{
      this.express.emit("app_started");
    });
    

    }

    问题是我正在使用 chai 测试,并且测试在应用程序完全初始化之前开始。

    【讨论】:

      【解决方案2】:

      您是否尝试删除此行?

      public static async importOrganizations(body){
          let connection = getConnection();
          let objs = {};
      
          // Line to delete -> connection.getRepository(Organization);
          let o = await connection.getRepository(Organization).save(this.createObjects(body, objs));
      
      }
      

      【讨论】:

      • 是的。该行仅用于测试以查看错误点是否移动。我在这里发布代码时忘记删除它。在我执行 connection.getRepository(Organization) 的函数中的任何地方都会出现错误。
      猜你喜欢
      • 2013-02-10
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2020-06-18
      • 2018-04-08
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多