作成済みのテーブルのカラムに対し、ユニークユニークインデックスを追加する方法です。
ここでは、markersというテーブルのいくつかのカラムにユニークインデックスを追加しています。
:nameカラムに単独でユニークインデックスを設定し、:latと:lngの二つのカラムに対して複合のユニークインデックスを設定する例を示します。
①マイグレーションファイル作成
rails generate migration change_unique_to_markers
②マイグレーションファイルにカラム変更を設定
def up add_index :markers, :name, unique: true add_index :markers, [:lat, :lng], unique: true end def down remove_index :markers, column: :name remove_index :markers, column: [:lat, :lng] end
③マイグレーション実行
$ rake db:migrate