migrationファイルをロールバックしたいが、ただロールバックするだけでは一つ前の物しか適用されないため、IDを指定して任意のファイルをロールバックする方法。あくまで備忘録です。ご指摘などあればご鞭撻のほどよろしくお願いします。
まずは、マイグレーションファイルの状態を確認する。
% bundle exec rake db:migrate:status
db:migration:status
で状態を確認できる。
Status Migration ID Migration Name
--------------------------------------------------
up 20201120034343 Devise create users
up 20201343220111 Create snscredentials
up 20201699490534 Create houses
up 20201202100051 Create addresses
upはファイルがマイグレーションされている状態。
これをdownにすることで再編集ができる。
bundle exec rake db:migrate:down VERSION='マイグレーショID'
上記のaddressesファイルでやってみる。
bundle exec rake db:migrate:down VERSION=20201202100051
再度bundle exec rake db:migration:status
で確認
Status Migration ID Migration Name
--------------------------------------------------
up 20201120034232 Devise create users
up 20201120070111 Create sns credentials
up 20201201090534 Create houses
down 20201202100051 Create addresses
downになったので編集して
bundle exec rake db:migrate:up VERSION=20201202100051
再度migrateして完了。