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

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

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

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