わからなかったmigration
저자: Kei Nakayama

1. up 20200703201452 ********** NO FILE **********
1.1. 何故発生するのか
1.1.1. migrationをdownさせる前にマイグレーションファイルを削除してしまった場合に発生する
1.2. 削除方法
1.2.1. ファイルに適当な名前をつける→
1.2.1.1. ファイルに適当な記述を行う(空だとエラーになるため)→
1.2.1.1.1. ファイルをdownにする→
2. エラー
2.1. An error has occurred, all later migrations canceled: Mysql2::Error: Table 'categories' already exists
2.1.1. When:チーム開発中masterブランチにpullした際発生。
2.1.2. Why:
2.1.2.1. categoriesテーブルが複数あること
2.1.3. How
2.1.3.1. categoriesテーブルを削除することで解消
2.1.3.1.1. エラーは解消するが、削除してしまうと後々辻褄が合わなくなってしまう可能性あり
2.1.3.2. 新しくALTER TABLEコマンドで新たなマイグレーションファイルを作成し、問題箇所を修正する
2.1.3.2.1. 一番無難な方法(ネットによると)
2.1.3.3. rake db:migrate:reset
2.1.3.3.1. 全てのテーブルを一旦リセットし、再びマイグレーションを行う
2.2. Multiple migrations have the name CreateItems.
2.2.1. When:チーム開発中masterブランチにpullした際発生。
2.2.2. Why
2.2.2.1. CreateItemsが定義されたマイグレーションファイルが複数存在し、どれを使えば良いかわからない
2.2.3. How
2.2.3.1. rails db:migrate:statusでマイグレーションファイルの現状を確認
2.2.3.1.1. itemsテーブルが重複していることがわかる
2.2.3.1.2. どちらかのitemsテーブルを削除するば良い