LoginSignup
0
0

More than 1 year has passed since last update.

マイグレーションファイルをdownせずに削除してしまった

Last updated at Posted at 2021-07-16

注:初学者のためメモ的な扱いで書いています。
間違っている事があればコメントで教えてください。

今回手順を覚えるために
一度作成した全てのデータをファインダーから
右クリックでファイル事全て削除して
新しく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'

全て消してくれて新しく作り直してくれる
便利なコマンド....。

注意点は、一人で開発してる分には大丈夫

チーム開発の際はしっかりとめんどくさい方法で
作った事、消した事も記録させて新しい物を
作り直さなければいけない。

0
0
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
0
0