如何将约束或唯一索引添加到 Staff 实体中的 position
列,以便值 master
最多出现一次,而其他值可以出现多次?
有可能吗?
我正在使用 Postgres 数据库、Ruby on Rails 和 schema.rb
。
最佳答案
我不确定 postgres 强制执行那种约束。另一种解决方案是按照以下方式在模型上设置自定义验证
class SomeModel
validate :one_master_permitted
private
def one_master_permitted
errors.add(:position, "some error message") if SomeModel.find_by(position: "master")
end
end
关于ruby-on-rails - 如何限制一个值在 Postgresql 的一列中最多出现一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727592/