【Rails】migrationのメリットと注意点
マイグレーションとは
「移動」「移入」「移住」といった意味をもつ言葉です。
マイグレーションの機能
データベース内にテーブルを作成することができます。
SQLよりも簡単にテーブル作成ができる?
SQLを使ってテーブルを作成する場合
1. テーブルを作成するSQLを作成する
2. コンソール上でデータベースに接続する
3. 作成したSQLを実行する
4. 実行した結果を確認するSQLを作成する
5. 作成したSQLを実行する
マイグレーションを行ってテーブルを作成する場合
1. マイグレーションファイルを作成
$ rails g migration マイグレーションファイル名
2. マイグレーションファイルの中身を書き換える
マイグレーションファイルの中身の例)
names = %w(Taro Jiro Hana John Mike Sophy Bill Alex Mary Tom) fnames = ["佐藤", "鈴木", "高橋", "田中"] gnames = ["太郎", "次郎", "花子"] 0.upto(9) do |idx| Member.create( number: idx + 10, name: names[idx], full_name: "#{fnames[idx % 4]} #{gnames[idx % 3]}", email: "#{names[idx]}@example.com", birthday: "1981-12-01", sex: [1, 1, 2][idx % 3], administrator: (idx == 0), password: "asagao!", password_confirmation: "asagao!" ) end
3. マイグレーションを実行
$ rails db:migrate
また、データベースの種類によっては、SQLの書き方が異なることがあります。
マイグレーションでは、データベースの種類に依存しないこともメリットだと言えそうです。
注意点
開発環境でマイグレーションを実行しても、本番環境に同期されるわけではないので、本番環境でもマイグレーションを実行する必要があります。