そもそも、データベース(DB)からseedsファイルにdumpとは?
私は初めdump
とはどういうことかわかりませんでした。。
そして、以前なんとなくコマンドやコードを丸写ししていて、エラーやトラブルが起こった時に、どうしていいか分からなく先輩に助けてもらったことがあります。
こういう時は、自分で考えられるように、何が起こっているのか、何が原因なのか考えられるように、コードが何をやっているのかちゃんと理解しておいた方がいいです。
dumpとは、要するにバックアップのことです。
データベースは様々なデータを保管しておく場所です。
そのデータは一度消してしまうと二度と元に戻せないような重要なものかもしれません。
トラブルが起こったときに与える影響の範囲が非常に大きく、深刻なものになりかねないので、データベースのdumpは重要なのです。
データベースに含まれているテーブルなどの情報を SQL 文の形で出力することをダンプと呼びます。
ダンプを行うとテーブルの構造やテーブルに格納されている 1 つ 1 つのデータについて SQL 文の形で出力されます。
どんな時に使うか?
・マスタデータ(都道府県、市区町村など)
・初期データ(ユーザアカウントなど)
などのデータを利用する時に使います。
コマンドは以下の通りです。
bin/rake db:seed:dump MODELS=モデル名 FILE=db/seeds/ファイル名(~.rb)
これはあるファイルのデータをseedsファイルに反映させる時のコマンドです。
全てのレコードを空にしたい場合はrake db:reset
を行います。
これは全てのテーブルを dropし、"db/schema.rb"を元にテーブルの再作成を行います。
もう一つseedsファイルからDBに反映する方法は以下の通りです。
bundle exec rails r db/seeds/ファイル名(~.rb)
良かったら参考にしてみてください。