跳到主要内容

ICascadeOptions

Defined in: packages/rxdb/src/entity/metadata-options.interface.ts:255

外键级联选项接口 定义关系的外键约束配置

SQLite 外键约束是在数据库层面自动执行的 当父表记录发生变化时,数据库会根据配置自动处理子表记录

Properties

onDelete?

optional onDelete: 
| "NO ACTION"
| "RESTRICT"
| "CASCADE"
| "SET NULL"
| "SET DEFAULT"
| OnDeleteAction;

Defined in: packages/rxdb/src/entity/metadata-options.interface.ts:274

删除时的级联行为 定义删除父表记录时如何处理子表的外键

Example

// 删除用户时级联删除订单
onDelete: OnDeleteAction.CASCADE

// 删除分类时将产品的分类ID设为NULL
onDelete: OnDeleteAction.SET_NULL

// 如果有订单则不允许删除用户
onDelete: OnDeleteAction.RESTRICT

Default

根据关系类型自动推断

onUpdate?

optional onUpdate: 
| "NO ACTION"
| "RESTRICT"
| "CASCADE"
| "SET NULL"
| "SET DEFAULT"
| OnUpdateAction;

Defined in: packages/rxdb/src/entity/metadata-options.interface.ts:297

更新时的级联行为 定义更新父表主键时如何处理子表的外键

Example

// 更新用户ID时级联更新订单的user_id
onUpdate: OnUpdateAction.CASCADE

// 不允许更新主键(推荐)
onUpdate: OnUpdateAction.RESTRICT

Default

OnUpdateAction.RESTRICT(推荐不更新主键)