Rails Migrationチートシート
Rails歴が長い人でも、意外とmigrationの追加用のコマンドを覚えていられず、毎回調べていているので、実装で使ったもの・使いそうなものを少しずつ追加しています。
この記事は定期的に内容が追加される予定です。
よく使うパターン
空のマイグレーションファイルを作成する
以下のように、マイグレーションの名前を指定しながらrails generate
コマンドを入力します。
特定の型のカラムを既存のテーブルに追加する
以下のようにコマンドでカラムと型を指定する(YYY
はテーブル名)か、
あるいは、空のマイグレーションファイルを作った後、次のように、直接、change
メソッド内にadd_column
メソッドを記載します。
ときどき使うパターン
既存のテーブルに、カラム名からは参照先を自動的に推定できない外部キーを追加する
some_master_records
というテーブルがある前提で、別のsome_transaction_records
テーブルにdefault_some_master_record_id
というカラムを追加して、そのカラムを使ってsome_master_records
テーブルを参照したい場合に使います。
やり方はいくつかあると思いますが、筆者が使うのは、以下です。
その後、以下のようにadd_reference
メソッドにforeign_key
オプションを指定し、そのオプションの中でto_table
を指定します。
これで、some_transaction_records
テーブルに、default_some_master_record_id
カラムが追加され、some_master_records
テーブルへの外部キー制約も作られます。
なお、この場合、ActiveRecordのモデルクラス(SomeTransactionRecord
クラス)にも参照に使う外部キーと参照先のモデルの設定が必要になります(この記事での説明は省略します)。
本サイトの更新情報は、Twitterの株式会社プレセナ・ストラテジック・パートナーズエンジニア公式で発信しています。ご確認ください。
最終更新