【发布时间】:2013-12-27 07:45:29
【问题描述】:
我有一个数组列,它是 rails 中唯一验证的一部分。
所以是一个包含 a,b,c,d,e 列的表格。
验证: validates_uniqueness_of :d,范围:[:a, :b]
现在由于我有多个 rails 服务器,有时表中会出现重复的行,因为没有数据库级别的约束。更多信息:http://robots.thoughtbot.com/the-perils-of-uniqueness-validations/
所以, 我正在尝试在表上添加一个唯一索引,如下所示: add_index :table, ["a", "b","d"], unique: true , using: :gin
我正在使用杜松子酒。看 http://www.postgresql.org/docs/current/static/gin-intro.html Can PostgreSQL index array columns?
然而,
似乎我仍然能够在执行 db:migrate 之后添加重复的行。我假设这是因为数组上的唯一索引不起作用。
任何指针?
谢谢!
- 我正在使用 Rails4
- 规范化表格目前不是一个选项
【问题讨论】:
标签: postgresql validation activerecord ruby-on-rails-4 indexing