跳到主要内容

OnDeleteAction

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

外键约束操作枚举 定义 SQLite 外键约束的级联行为

SQLite 支持在外键定义时指定 ON DELETE 和 ON UPDATE 的行为 这些约束在数据库层面自动执行,无需应用层干预

See

https://www.sqlite.org/foreignkeys.html

Enumeration Members

Enumeration MemberValueDescriptionDefined in
CASCADE"CASCADE"级联删除 删除父表记录时,自动删除所有引用该记录的子表记录 Example 删除用户时自动删除其所有订单 **Warning:** 谨慎使用,可能导致大量数据被删除packages/rxdb/src/entity/metadata-options.interface.ts:184
NO_ACTION"NO ACTION"不执行任何操作(默认) 当父表记录被删除时,不对子表记录做任何处理 如果存在引用,删除操作会失败(违反外键约束) Default ``packages/rxdb/src/entity/metadata-options.interface.ts:169
RESTRICT"RESTRICT"限制删除 如果存在子表引用,则阻止删除父表记录 行为与 NO ACTION 类似,但检查时机更早packages/rxdb/src/entity/metadata-options.interface.ts:176
SET_DEFAULT"SET DEFAULT"设置为默认值 删除父表记录时,将子表中的外键字段设置为其默认值 Example 删除部门时,将员工的 department_id 设为默认部门 **Requires:** 外键字段必须定义 DEFAULT 值packages/rxdb/src/entity/metadata-options.interface.ts:200
SET_NULL"SET NULL"设置为 NULL 删除父表记录时,将子表中的外键字段设置为 NULL Example 删除分类时,将产品的 category_id 设为 NULL **Requires:** 外键字段必须允许 NULL 值packages/rxdb/src/entity/metadata-options.interface.ts:192