在 PostgreSQL 上,我有一个包含 name
、surname
和 _deleted
列的表。
name
和 surname
不能重复,所以我对它们有一个独特的约束,一切都很好。
在那之后,我为软删除添加了 _deleted
。如果我添加 (name, surname)
然后我软删除它,我不能再添加 (name, surname)
。
我认为该解决方案是为 (name, surname, _deleted)
添加唯一值,但它不起作用,因为 _deleted 是一个 DateTime,在未删除时为 null,因此 NULL 可以是多个。
如何添加适当的约束?
答案 0 :(得分:2)
你想要一个过滤的唯一索引:
for i in range(10):
globals()[f'A_{i}'] = M
for i in range(10):
locals()[f'A_{i}'] = M
您不能(轻松地)使用唯一约束来做到这一点,但这在功能上等同于约束。
答案 1 :(得分:1)
您可以制作条件唯一索引:
//next.config.js
module.exports = {
...
env: {
REACT_APP_API_ENTRYPOINT: process.env.REACT_APP_API_ENTRYPOINT, // assumes that your variable is defined
}
...
}