我在Swift中使用SharkORM来创建一个SQLite数据库,问题是我有两个使用外键的一对多关系表,我需要知道是否有一种方法可以在删除时实现级联这两个表,
当我从主表中删除记录时,应该自动删除详细信息表中带有外键的所有记录,我不想手动实现。
那么有没有办法在使用SharkORM实现删除级联?我已经通过了文件,找不到任何东西,
提前感谢您的帮助。
答案 0 :(得分:1)
因此,如果您以with open("Output.txt", "bw") as text_file:
为例,其中person包含Person -> Department
属性。然后,您通过.department
方法级联这些删除。
一个例子就是这样的'某事'。
entityWillDelete
对于关系,请始终注意反向。
class Department: SRKObject {
...
override func entityWillDelete() -> BOOL {
Person.query()
.whereWithFormat("department = %@", parameters:[self])
.fetch()
.removeAll()
return true
}
}
的文档在此提及。
entityWillDelete
这一切都在一个事务中完成,包括所有级联和事件触发器更改。然后,在出现故障/错误/中止的情况下,可以将其全部回滚。