【发布时间】: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