Rails Active在Postgres上使用字段值记录唯一约束

是否可以在具有字段值的活动记录上创建唯一约束。

因此,此代码将添加2列的约束:

add_index :my_table,[:field_1,:field_2],:unique => true

但是我想在field_2 == true的地方有相同的约束

例如这样的东西

add_index :my_table,:field_2 => true],:unique => true

有可能吗? 我看到有可能在postgres

lizhc 回答:Rails Active在Postgres上使用字段值记录唯一约束

对于部分索引,您可以使用where选项:

add_index :my_table,[:field_1,:field_2],unique: true,where: 'field_2 = true'
# "index_my_tables_on_field_1_and_field_2" UNIQUE,btree (field_1,field_2) WHERE field_2 = true
本文链接:https://www.f2er.com/3109136.html

大家都在问