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 Member | Value | Description | Defined 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 |