OnDeleteAction
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:70
外键约束操作枚举 定义 SQLite 外键约束的级联行为
SQLite 支持在外键定义时指定 ON DELETE 和 ON UPDATE 的行为 这些约束在数据库层面自动执行,无需应用层干预
See
https://www.sqlite.org/foreignkeys.html
Enumeration Members
CASCADE
CASCADE: "CASCADE";
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:92
级联删除 删除父表记录时,自动删除所有引用该记录的子表记录
Example
删除用户时自动删除其所有订单
**警告:** 谨慎使用,可能导致大量数据被删除
NO_ACTION
NO_ACTION: "NO ACTION";
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:77
不执行任何操作(默认) 当父表记录被删除时,不对子表记录做任何处理 如果存在引用,删除操作会失败(违反外键约束)
Default
RESTRICT
RESTRICT: "RESTRICT";
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:84
限制删除 如果存在子表引用,则阻止删除父表记录 行为与 NO_ACTION 类似,但检查时机更早
SET_DEFAULT
SET_DEFAULT: "SET DEFAULT";
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:108
设置为默认值 删除父表记录时,将子表中的外键字段设置为其默认值
Example
删除部门时,将员工的 department_id 设为默认部门
**Requires:** 外键字段必须定义 DEFAULT 值
SET_NULL
SET_NULL: "SET NULL";
Defined in: packages/rxdb/src/entity/relation-types.interface.ts:100
设置为 NULL 删除父表记录时,将子表中的外键字段设置为 NULL
Example
删除分类时,将产品的 category_id 设为 NULL
**Requires:** 外键字段必须允许 NULL 值