是否可以在具有字段值的活动记录上创建唯一约束。
因此,此代码将添加2列的约束:
add_index :my_table,[:field_1,:field_2],:unique => true
但是我想在field_2 == true的地方有相同的约束
例如这样的东西
add_index :my_table,:field_2 => true],:unique => true
有可能吗? 我看到有可能在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