目的
適用済みのマイグレーションファイルに記載されたカラムの型を変更すること
手順
■ 実行予定の手順
1.既存のマイグレーションファイルをロールバックする
2.変更したいマイグレーションファイルのステータスを確認
3.対象のマイグレーションファイルを書き換える
4.マイグレーションコマンドの実行
5.マイグレーションファイルのステータスがupになっているか確認
1.既存のマイグレーションファイルをロールバックする
前提として適用済みのマイグレーションを編集してはいけません。
必ずロールバックをしてから編集する必要があります。
rails db:rollback
2.変更したいマイグレーションファイルのステータスを確認
変更したいマイグレーションファイルのステータスがdownになっているか確認します。
rails db:migrate:status
実行すると以下のようにターミナルにマイグレーションファイルのステータスが表示されます。
Status Migration ID Migration Name
--------------------------------------------------
up 222222222222 Devise create users
down 222222222222 Create items
rails db:rollbackコマンドでは直近のマイグレーションのみロールバックがされます。
変更したいマイグレーションファイルをdownにしたい場合は、複数回rails db:rollbackコマンドを実行してください。
マイグレーションファイルを一度に複数ロールバックする方法はこちらの記事をご参考ください。
3.対象のマイグレーションファイルを書き換える
対象のマイグレーションファイルのステータスがdownになっていることが確認できましたら、マイグレーションファイルのカラムの型を変更していきます。
例: integer → float に変更
元の記述
t.integer :time, null: false
変更後の記述
t.float :time, null: false
4.マイグレーションコマンドの実行
変更したいカラムの型を書き換えたらマイグレーションコマンドを実行します。
rails db:migrate
マイグレーションコマンドはdownになっているマイグレーションファイルをすべてupにしてくれます。
5.マイグレーションファイルのステータスがupになっているか確認
念の為マイグレーションファイルのステータスを確認します。
rails db:migrate:status
ステータスがupになっていることが確認できたら終了です。