不支持联合继承的子项 class 的 CUBA 唯一属性

CUBA unique attribute on child class of joined inheritance not supported

我有
- 联系 class 加入继承
- 对方 class 扩展联系人
- Customer extending Counterpart
- 客户中的字段 'code' 我想是独一无二的

为什么 CUBA 工作室不允许我勾选 'code' 字段的 'unique' 复选框?

可能您的实体实现了 SoftDelete 接口。这意味着唯一约束必须包含 DELETE_TS 字段或具有此字段的 where 条件(取决于数据库类型)。

在 JOINED 继承策略的情况下,DELETE_TS 字段仅存在于根 table 中,因此子实体不可能自动创建唯一约束。

您可以在30.create-db.sql脚本中手动创建任何约束,但请记住,如果唯一索引不考虑软删除标记,用户将无法创建具有相同的新记录CODE 与已删除的记录相同。