マイグレーションファイルとは
マイグレーションファイルとはデータベースに加える変更内容を記載するファイルです。
基本のコマンド
command
# モデル作成
$ rails g model モデル名
# マイグレーションファイル作成コマンド
$ rails g migration クラス名
マイグレーションファイルはモデル作成時に作成されます。
マイグレーションファイル単体でクラス名を指定し作成することも可能です。
クラス名は「アクション+テーブル名」で作成するのがわかりやすくていいですね!
これで/db/migrate/タイムスタンプ_クラス名.rb というファイルが作れる。ここに、スキーマの変更点を記載しましょう!
テーブルの作成
command
$ rails g model モデル名 カラム名:データ型
モデル作成時にマイグレーションファイルに記載する内容を「カラム名:データ型」で指定します。
指定できるデータ型は下記の通りです。
- string : 文字列
- text : 長い文字列
- integer : 整数
- float : 浮動小数
- decimal : 精度の高い小数
- datetime : 日時
- timestamp : タイムスタンプ
- time : 時間
- date : 日付
- binary : バイナリデータ
- boolean : Boolean
マイグレーションファイルをDBへ反映させる
command
# マイグレーションファイルの実行
$ rails db:migrate
このコマンドを実行するとDBへマイグレーションファイルの内容が反映される。
マイグレーションファイルのロールバック
command
# マイグレーションファイルをロールバックする
$ rails db:rollback
実行したマイグレーションファイルをロールバックする。
マイグレーションファイルの確認
command
# 実行したマイグレーションファイルの確認
$ rake db:migrate:status
このコマンドで実行したマイグレーションファイルの内容確認ができる。