【開発環境】
macOS Catalina
バージョン 10.15.3
ruby 2.5.1
Rails 5.2.4.2
visual studio code
#DB反映後のマイグレーションファイルを修正する
マイグレーションファイルをrails db:migrateでDBに反映した後に、「カラム名間違えた、、、」などミスに気づくことがあるかと思います。
ミスを訂正してまた反映させればいいんじゃね?と思うのですが、そうもいきません。
反映ずみのマイグレーションファイルは修正できません。修正してしまうと、DBとの整合性が取れなくなり、エラーなどの原因になります。
しかし、順を追えば修正可能ですので、その方法を書いていきます。
##マイグレーションファイルをDBから戻す
ではどうすればいいかと言いますと、まず、DBに反映させているマイグレーションファイル一度DBから差し戻します。
マイグレーションファイルの状態を見てみます。
$ rails db:migrate:status
このコマンドで、マイグレーションファイルの状態がわかります。
statusがupだとDBに反映されている状態です。
逆に、statusがdownだとDBに反映されていない状態を意味します。
$ rails db:rollback
こちらのコマンドでマイグレーションファイルを差し戻すことができます。
もう一度、ステータスを見て、downとなっていれば成功です。
##マイグレーションファイルを修正する
down状態のマイグレーションファイルのミスのあるところを修正します。
DBに反映はされていないので、修正しても問題ありません。
##もう一度DBに反映させる
マイグレーションファイルを修正した後は、もう一度DBに反映させる必要があります。
$ rails db:migrate
これで修正は完了です。
##おわりに
今回はDB反映後のマイグレーションファイルの修正方法について書いてみました。
間違いなどがありましたらご指摘いただければ幸いです。
最後までご覧いただきありがとうございました。