回答:
私rake db:resetはデータベースをドロップしてから再作成し、seeds.rbファイルを含めて使用します。
http://guides.rubyonrails.org/migrations.html#resetting-the-database
すべてを削除して、データベースとシードを両方で再作成できます。
rake db:reset:schema.rbからロードrake db:drop db:create db:migrate db:seed:マイグレーションからのロードdb(rails server、sql client ..)への接続がないことを確認してください。そうしないと、dbはドロップしません。
schema.rbは、以下によって生成されるデータベースの現在の状態のスナップショットです。
rake db:schema:dump
データをリロードするためだけにシバン全体を削除して再作成したくない場合は、seed.dbファイルでMyModel.destroy_all(またはdelete_all)を使用して、MyModel.create!(...)ステートメントがデータをロードする前にテーブルをクリーンアップできます。その後、db:seed操作を何度もやり直すことができます。(明らかに、これはデータをロードしたテーブルにのみ影響し、残りのテーブルには影響しません。)
https://stackoverflow.com/a/14957893/4553442に「ダーティーハック」があり、上下に移行するのと同様の「シード解除」操作を追加しています...
rake db:resetローカルデータベースを削除し、ロードされたデータで新たに開始する場合に使用できますdb/seeds.rbた。これは、まだスキーマを理解していて、既存のモデルにフィールドを追加する必要がある場合に便利なコマンドです。
リセットコマンドを使用すると、次のことが行われます。データベースrake db:drop
の削除:スキーマの読み込み:rake db:schema:load
データのシード:rake db:seed
ただし、データベースを完全に削除する場合は、を使用できますrake db:drop。データベースを削除すると、スキーマの競合や不良データも削除されます。持っているデータを保持したい場合は、このコマンドを実行する前に必ずバックアップしてください。
これは、最も重要なrakeデータベースコマンドに関する詳細な記事です。