其主要思想是使用Typeorm连接3个表。它们中的两个在开始时工作正常:
module.exports = {
"type": "mssql",
"host": "xxx",
"port": 1433,
"username": "xxx",
"password": "xxx",
"database": "xxx",
"entities": [
"build/models/**/*.js"
]}
问题是,当我尝试连接第三个表时,它会将其他表用作“ManyToOne”。然后我得到了这个错误:
UnhandledPromiseRejectionWarning:错误:找不到结果#res_ControllerId的实体元数据。检查您是否指定了正确的实体对象,以及它是否已在连接选项中连接。
我解决了这个问题,将“__dirname”添加到实体中。
module.exports = {
"type": "mssql",
"host": "xxx",
"port": 1433,
"username": "xxx",
"password": "xxx",
"database": "xxx",
"entities": [
__dirname + "build/models/**/*.js" <------ Here
]
}
然后,错误更改为:
找不到“Tabla1”的存储库。看起来此实体未在当前的“默认”连接中注册?
找不到“Tabla2”的存储库。看起来此实体未在当前的“默认”连接中注册?
我在这里很糟糕,我不知道如何继续我的计划,如果你需要其他东西,没有问题。先谢谢你。
3条答案
按热度按时间bzzcjhmw1#
尝试将
__dirname + "build/models/**/*.js"
更改为"build/models/**/*{.js,.ts}"
jm2pwxwz2#
确保使用@Entity()注解实体类
示例
jm2pwxwz3#
可能实体文件的命名不正确,使其无法找到实体文件。正确的实体文件名为xxx.entity.ts。当我将其命名为xxx.ts时,TypeScrip不会报告错误,但Nestjs会报告它。