【问题标题】:Typescript: RepositoryNotFoundError打字稿:RepositoryNotFoundError
【发布时间】:2019-04-03 13:51:13
【问题描述】:

我尝试使用 typeorm 将单个实体类型保存到表中。 可悲的是,如果我针对这段代码运行测试,我会得到 ​​p>

RepositoryNotFoundError:找不到“PayloadEntry”的存储库。 看起来此实体未在当前“默认”中注册 连接?

有趣的是,我在另一个项目中重复使用了该代码,它可以完美运行!那么......我该如何解决这个问题,因为它似乎没有任何意义。

这就是我的代码的样子:

export const mysql_config : ConnectionOptions = {
    type: "mysql",
    host: process.env.MYSQL_HOST,
    port: 3306,
    username: process.env.MYSQL_USERNAME,
    password: process.env.MYSQL_PWD,
    database: "some_database",
    entities: [PayloadEntry],
    synchronize: true,
    logging: false
};

createConnection(mysql_config).then(res => {
    console.log("Konfiguration erstellt!");
});

export module DatabaseAccess {

    export async function createPayload(payload : PayloadEntry) {
        try {
            let connection = await getConnection();
            let repo = connection.getRepository(PayloadEntry);
            return await repo.save(payload);
        } catch (e) {
            console.error("Error: " + e);
        }
    }
}

数据库:

CREATE TABLE PayloadEntry(
    payloadHash VARCHAR(256),
    serviceName VARCHAR(64),
    timestamp DATETIME DEFAULT NOW()
);

最后,类型定义:

@Entity('PayloadEntry')
export class PayloadEntry extends BaseEntity{

    constructor(payloadHash: string) {
        super();
        this.payloadHash = payloadHash;
    }

    @PrimaryColumn()
    payloadHash: string;

    @Column({nullable: true})
    serviceName?: string;

    @Column()
    timestamp : number = Date.now();
}

【问题讨论】:

    标签: node.js typescript typeorm


    【解决方案1】:

    这似乎只是一个时间错误,因为 mocha 在真正完全建立连接之前就开始了测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 2021-07-27
      • 1970-01-01
      • 2017-12-28
      • 2020-09-28
      • 2017-11-24
      • 2018-01-09
      • 2018-07-13
      相关资源
      最近更新 更多