はじめに
某プログラミングスクールにてフリマアプリを作成する際にカラム名を変更したい時にマイグレーションファイルのrollbackが必要だった為その時に調べた事を書きます。
1.マイグレーションファイルを1つずつ差し戻す方法
まずターミナルで以下を実行
$ rails db:rollback
$ rails db:migrate:status
↓ターミナルにこの様に表示されると思います
Status Migration ID Migration Name
--------------------------------------------------
up 20200510074001 Create spending categories
up 20200510074005 Create income categories
up 20200510074056 Create incomes
down 20200510074140 Create spendings
2.複数のファイルを差し戻す
下記のように末尾にSTEP=で数を指定してあげると複数のファイルを差し戻すことが可能です。
今回は4つまとめて差し戻します。
$ rails db:rollback STEP=4
$ rails db:migrate:status
↓ターミナルにこの様に表示されると思います
Status Migration ID Migration Name
--------------------------------------------------
down 20200510074001 Create spending categories
down 20200510074005 Create income categories
down 20200510074056 Create incomes
down 20200510074140 Create spendings
3.任意のマイグレーションファイルのみを差し戻す
下記のようにVERSIONで "Migration ID" を指定してあげると選択のマイグレーションファイルのみを差し戻すことが可能です。
$ rails db:migrate:down VERSION=20200510074001
$ rails db:migrate:status
↓ターミナルにこの様に表示されると思います
Status Migration ID Migration Name
--------------------------------------------------
down 20200510074001 Create spending categories
up 20200510074005 Create income categories
up 20200510074056 Create incomes
up 20200510074140 Create spendings
最後まで見て頂きありがとうございます!!
この記事が少しでも参考になれば嬉しいです