我在rails中使用shema_plus gem,我想这样做,所以如果两列的组合是相同的,我无法将数据复制到我的数据库中。
不应该这样吗?:
t.string :name, null: false, index: { with: :deleted_at, unique: true }
':deleted_at'肯定是我迁移中的一个字段。
但是这允许我在mysql端输入两次相同的名字。
另外,这里有一些mysql给我的信息:
Index: index_plans_on_name_and_deleted_at
Definition:
Type BTREE
Unique Yes
Columns name
deleted_at
EDIT _____________________________________________________
看起来我需要deleted_at的默认值,例如:
t.datetime :deleted_at, default: '2000-01-01'
答案 0 :(得分:0)
不确定gem,但您可以使用以下命令直接在ActiveRecord中实现:
validates :name, :uniqueness => {:scope => :deleted_at}
假设您希望name
和deleted_at
的组合是唯一的。