8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

マイグレーションファイルを修正する

Posted at

【開発環境】
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反映後のマイグレーションファイルの修正方法について書いてみました。
間違いなどがありましたらご指摘いただければ幸いです。
最後までご覧いただきありがとうございました。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?