わからなかったmigration

マイグレーションファイルの疑問

Начать. Это бесплатно
или регистрация c помощью Вашего email-адреса
わからなかったmigration создатель Mind Map: わからなかったmigration

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テーブルを削除するば良い