プログラミング歴=Ruby On Rails歴(8週間目)
個人メモ
rake db:migrate でエラー"already extist"が吐かれた時、
Migration file内によく居る"NO FILE"の対処法メモ
原因はdown->rmという手順を踏まずにうっかり消しちゃうから
よくやる上その度に対処法思い出せず調べてるので(笑)自分のためにメモ。
①コマンドで
ターミナルコマンド
rake db:migrate:status
②NO FILEとなっているmigration fileの左の番号をコピー
_temp.rb という名前(任意)にする
ターミナルコマンド
vim db/migrate/****14桁の数字****_tmp.rb
③vimで...._tmp.rbファイル内を下記のように編集
vimコマンド
class Tmp < ActiveRecord::Migration
def change
end
end
w(保存)->q(終了)
④さっきのmigration faleの名前が反映されてることを確認
ターミナルコマンド
rake db:migrate:status
⑤変更したファイルのVERSION(14桁の数字)を入れてdownする
ターミナルコマンド
rake db:migrate:down VERSION=*****14桁の数字*****
⑥ファイルを削除
ターミナルコマンド
rm db/migrate/****14桁の数字****_tmp.rb
⑦ステータスで削除できたことを確認。
ターミナルコマンド
rake db:migrate:status
終了。
参考サイト
https://joppot.info/2014/10/16/2104
いつもお世話になりました。ありがとうございました。