4
我一直在試圖找到一種方法來實現這一目標,但我無法找到任何嘗試,所以我認爲也許我的方法是完全錯誤的。也就是說,如果我想要兩個字段的組合是唯一的,我應該怎麼做在我的遷移? 請注意,我不希望它們是索引,只是數據庫字段。遷移範圍的唯一性
例如,對於下面的遷移,我可以單獨將unique: true
添加到字段中,但組合?
class CreateSomething < ActiveRecord::Migration
def change
create_table :something do |t|
t.date :datestamp, :null => false
t.integer :some_number, :null => false
t.timestamps
end
end
end
,你可以在你的'Something'模型 – gabrielhilal 2014-10-08 16:30:46
添加驗證正如@gabrielhilal您需要使用範圍,添加到模型驗證,如果你想實現唯一沒有索引說。 例如:如果您希望some_number和datestamp是唯一的組合,那麼將驗證添加爲 '驗證:some_number,唯一性:{scope::datestamp}' – Allerin 2014-10-08 17:12:41
嘗試執行(ALTER TABLE MyTableADD UNIQUE KEY \'my_unique_key \' 'group_id \',''user_id \'))'如果你正在尋找mysql特定的soln – mintuhouse 2014-10-08 17:51:01