我的Message.rb包含A,B和C列。
我为Message添加了一个唯一索引:
add_index :messages, [:a, :b, :c], unique: true, name: 'mm_uniqueness'
但是,我希望列A能够在不触发唯一性约束的情况下获得null值。
所以:
original a=1, b=2, c=3
second a=1, b=2, c=3 (not unique)
original a=null, b=2, c=3
second a=null, b=2, c=3 (unique)
我该怎么做?
答案 0 :(得分:0)
尝试创建部分索引:
add_index :messages, [:a, :b, :c], unique: true, name: 'mm_uniqueness', where: 'a != null'