条件唯一性约束Ruby on rails

时间:2016-04-07 14:43:46

标签: mysql ruby-on-rails

我有以下模型级别唯一性约束,需要将其移动到MySQL级别。执行相同操作的SQL语句是什么。

class Blog < ActiveRecord::Base
  validate :uniqness_of_title

  def uniqness_of_title
      blog = Blog.where("title=? and lock_version<>-1", self.title).last
      self.errors.add :base, "Title already exists." if blog
  end
end

并且它应该允许进入'博客'表,即使标题已经存在且记录具有lock_version = -1。

1 个答案:

答案 0 :(得分:0)

ALTER TABLE blogs ADD CONSTRAINT uc_title UNIQUE (title)