Rails 定義済みテーブルに制約を追加する


覚える気もなくいつもググって手間がかかるのでここに記録しておく。

not null & default

大体いつも2つセットで使うことになる。

class ChangeColumnNameToTables < ActiveRecord::Migration[5.2]
  def change
    change_column_null :テーブル名, :カラム名, null: false, 0
    change_column :テーブル名, :カラム名, :カラム型, :default => 0
  end
end
CREATE INDEX
class AddIndexColumnNameToTables < ActiveRecord::Migration[5.2]
  def change
    add_index :テーブル名, :カラム名
    #複合インデックス
    add_index :テーブル名, [:カラム名1, :カラム名2]
  end
end