【Rails】 マイグレーション機能の使い方

Railsのマイグレーションについて例を通して簡単に説明します。
今回はmysqlに新規テーブルを作成する場合を想定します。(mysqlでなくても手順は同じです。)

モデルを作成

まずは作成するテーブルに対応するモデル(sample)を作成します。

実行するとこんな感じでいくつかファイルが作成されます。

モデルと同時に「db/migrate」の下にマイグレーションファイルが作成されます。
今回は「20190507045323_create_samples.rb」が作成されました。
ファイルのあたまは日付になっていてマイグレーションを実行する順番に使われます。

マイグレーションファイルを編集

作成したマイグレーションファイルに追加したいカラムやデータ型を追加します。今回はこんな感じで編集しました。

これで準備完了です。

マイグレーション実行

マイグレーション実行コマンドを実行します。

エラーがなければDBにテーブルが作成されていると思います。

マイグレーションを実行すると「schema_migrations」テーブルにもこのように登録されます。

2つめはさっき作成したマイグレーションファイルのあたまの日付と同じになっています。1つめは以前マイグレーション実行した時に作成されたデータです。このデータで次回から再度同じマイグレーションファイルを実行しないように制御しています。

もし何かしらの理由で同じマイグレーションファイルを実行したい場合はこのデータを削除してあげれば良いわけです。

最後に

今回は簡単なテーブルの新規作成を説明しましたが、DBの変更に関するいろいろことができ、開発の管理が楽になりますので絶対に活用するようにしましょう!

詳細はRailsのガイドに記載がありますのでこちらをご覧ください。
参考 Active Record マイグレーションRAILS GUIDES