typeorm - OneToOne 加入自我
问题描述
是否可以使用 OneTonOne 关系将实体连接到自身?
我试过这个:
@OneToOne(type => Person, spouse => spouse.id)
@JoinColumn()
spouse: Person;
但是从原本可以工作的代码中得到这个错误:
{ QueryFailedError: SQLITE_CONSTRAINT: FOREIGN KEY constraint failed
at new QueryFailedError (/Users/jonhaven/Dev/Maverick/mav-typeorm/src/error/QueryFailedError.ts:7:9)
at Statement.handler (/Users/jonhaven/Dev/Maverick/mav-typeorm/src/driver/sqlite/SqliteQueryRunner.ts:53:26)
at Statement.replacement (/Users/jonhaven/Dev/Maverick/mav-typeorm/node_modules/sqlite3/lib/trace.js:19:31)
at Statement.replacement (/Users/jonhaven/Dev/Maverick/mav-typeorm/node_modules/sqlite3/lib/trace.js:19:31)
message: 'SQLITE_CONSTRAINT: FOREIGN KEY constraint failed',
errno: 19,
code: 'SQLITE_CONSTRAINT',
name: 'QueryFailedError',
query: 'DROP TABLE "person"',
parameters: [] }
解决方案
这是 TypeORM 上的 SQLite 问题。您应该将 TypeORM 更新到最新版本,并在关系中添加删除级联选项
@OneToOne(type => Person, spouse => spouse.id, {
cascade: true,
onDelete: "CASCADE"
})
@JoinColumn()
spouse: Person;
推荐阅读
- python - 如何将项目列表转换为熊猫列?
- c# - AsyncFileUpload 在我的机器上工作但不在服务器上
- javascript - 单击事件 - 获取 mousedown 开始的目标而不是 mouseup
- python - FFT寻找自相关函数
- python - 颜色取决于 (x,y,z) 的参数化 3D 曲面图
- android - 绘制到 FrameBuffer 会导致 Y 反转
- html - 如何解决 Outlook 2016 未正确显示 HTML 模板的问题?
- google-apps-script - 附加触发器的重复间隔必须至少为一小时
- java - 使用 S3 存储桶名称查找 AWS 账户 ID
- java - 获取没有客户端 ID 的 kafka 主题指标