上のユニークな私は、次の移行持っている:私は、マイグレーションを実行するとschema.rbには含まれません。ADD_INDEX
class UniqueIndexOnCustomValueKeys < ActiveRecord::Migration
def self.up
add_index :custom_values, [:customizable_id, :customizable_type, :custom_definition_id], {:unique=>true,:name=>:cv_unique_composite}
end
def self.down
remove_index :custom_values, :cv_unique_composite
end
end
、それが適切に開発データベースに一意のキーを作成しますが、私はschema.rb
を見たときに、 :uniqueフラグはありません。これにより、テストデータベースにUNIQUEインデックスが設定されていません。
schema.rbでの結果の行は次のようになります。
add_index "custom_values", ["customizable_id", "customizable_type", "custom_definition_id"], :name => "cv_unique_composite"
私はここで何か間違ったことをやっていますか?
(Railsの3.0.8、MySql2宝石)
されていないこと本当。 schema.rbには独自のインデックスがいくつかありますが、それでもなおスキーマ形式があります。 OPはMySQLを使用しています。 – radiospiel