ruby-on-rails - Rails活动记录唯一约束与postgres上的字段值
问题描述
是否可以在具有字段值的活动记录上创建唯一约束。
因此,此代码将添加 2 列的约束:
add_index :my_table,[:field_1,:field_2],:unique => true
但我希望在 field_2 == true 的地方有相同的约束
例如像这样
add_index :my_table,[:field_1,: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
推荐阅读
- javascript - TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型 Node.JS
- powershell-5.0 - 如何使用扩展 Powershell 对象的方法返回引用值?
- reactjs - 使用 jwt 反应多个子域身份验证
- flutter - 如何在颤动中显示 Oauth 同意屏幕
- visual-studio - Nuget Packages 未在 .net 核心应用程序中安装任何内容
- ruby-on-rails - 未找到中央目录签名的 Zip 结尾
- excel - 如何从多个工作表中获取某些单元格值
- java - 针对多个 XSD(存储为资源)验证 XML。弹簧靴
- javascript - chrome中奇怪的颜色转换行为
- php - 调试 POST 请求 ESP8266 PHP