6
3

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 5 years have passed since last update.

マイグレーションに関する知識!

Last updated at Posted at 2019-06-18

こんにちは!:smiley:

チーム開発をしていく中で、マイグレーションに関するコンフリクトが多発したので、マイグレーションの知識を深掘りするためにも記事を書きました!

未実行のmigrationを知りたい...

そんな時に、便利なコマンドがこちらです!

bundle exec rake db:migrate:status

Railsのマイグレーションファイルは、ファイルの作成後、マイグレートを実行して初めてデータベースに変更が反映されます!(rake db:migrate)

開発を進めていく中で、マイグレーションファイルが増えて、どのファイルまでがマイグレートを実行し終えているかターミナルで確認することができます!

マイグレートを実行した後に、修正する手順!

(マイグレートを実行した後に、内容の誤りがあることが分かりました....):frowning2:

(どのように修正すれば良いでしょうか...?):frowning2:

(ほほう、2つの方法をご紹介しよう!):older_man_tone1:

bundle exec rake db:rollbackを実行して、一度マイグレートされていない状態に戻す。
・マイグレーションファイルを修正する。
・再びrake db:migrateを実行する!

rails g migrationで新たなマイグレーションファイルを作成する。
・修正箇所を正しい内容に変更するためのマイグレーションファイルを作成する。
rake db:migrateを実行する!

(これら2つの方法で、修正することが可能じゃ):older_man_tone1:

マイグレーションファイルによる禁止事項!

(一度実行されたマイグレーションファイルは、次のマイグレートに影響は及ぼさないんですよね?):frowning2:

(そうじゃ):older_man_tone1:

(それじゃあ、マイグレート後にファイルを変更したり削除したとしても今のDBに悪影響を及ぼすことはないから、変更したり削除したりしてもいいんですか?):frowning2:

(それは、けしからん!):older_man_tone1:

(チーム開発において致命的な不具合が出てしまうんじゃ...):older_man_tone1:

(どういうことでしょうか?):frowning2:

(アプリケーションのファイルをデプロイ先にpushし、マイグレートを行なった時に、ローカル環境と違ったDBが出来上がったり、エラーになってしまうんじゃ...):older_man_tone1:

(コンフリクトなどの原因にもなりかねんから、やってはいけないぞ!):older_man_tone1:

(分かりました!ありがとうございます!):relaxed:


以上となります!

最後の章は会話形式でまとめてみました!

その他、マイグレーションに関する見知など教えて頂けると幸いでございます!

コメントお待ちしております!

ご静聴ありがとうございました:relaxed:

6
3
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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?