注:初学者のためメモ的な扱いで書いています。
間違っている事があればコメントで教えてください。
今回手順を覚えるために
一度作成した全てのデータをファインダーから
右クリックでファイル事全て削除して
新しくrails newで作り直してしまった
再度同じ手順で行った際に過去のマイグレーションファイルがdbのデータ上に残ったまま
新たにもう一つ作った物と2つ出来てしまった。
Status Migration ID Migration Name
--------------------------------------------------
up 20210716030715 ********** NO FILE **********
down 20210716052228 Create users
____________________________________
********** NO FILE **********というファイルで、
up状態のファイルを削除したい
- 削除したいファイルのマイグレーションIDを確認する
- 削除したマイグレーションファイル名と同名のファイルを作成する
- downさせて、作成したマイグレーションファイルを削除する
をしてもup状態がdownにならず削除出来ない。
参考:【Rails】マイグレーションファイルを削除する
なぜか?
rails君は俺は消してないしこれ残してあるけど....
え?また同じもの作るの?
はいよ〜〜って感じに2個目作りました〜と作成
__________________________________
問題→ファイルをゴミ箱に入れて削除した❌
しかし
rails上では消す作業をしていないから
db上にはまだそのファイルは残っている
しっかりと消したファイルを戻して
そのファイルを削除する作業が必要
[マイグレーションファイルはDBの歴史]
もう覚えてないよ.....
そんな時に助けてくれるコマンドが
rails db:migrate:reset
rails db:dropとrails db:createとrails db:migrate
を一気に行ってくれるコマンド
Dropped database 'session_login_development'
Dropped database 'session_login_test'
Created database 'session_login_development'
Created database 'session_login_test'
全て消してくれて新しく作り直してくれる
便利なコマンド....。
注意点は、一人で開発してる分には大丈夫
チーム開発の際はしっかりとめんどくさい方法で
作った事、消した事も記録させて新しい物を
作り直さなければいけない。