データベース テーブルのデータを消去する rake コマンドはありますか?
テーブルにデータを事前入力する db:seed スクリプトを作成するにはどうすればよいですか?
データベース テーブルのデータを消去する rake コマンドはありますか?
テーブルにデータを事前入力する db:seed スクリプトを作成するにはどうすればよいですか?
私はこれを使用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
: 移行からの読み込みデータベース(レールサーバー、SQLクライアントなど)への接続がないことを確認してください。そうしないと、データベースがドロップされません。
schema.rb は、次によって生成されたデータベースの現在の状態のスナップショットです。
rake db:schema:dump
データをリロードするためだけにシバン全体をドロップして再作成したくない場合は、ステートメントがデータをロードする前に、seed.db ファイルでMyModel.destroy_all
(または) を使用してテーブルを消去できます。その後、何度でも操作をやり直すことができます。(明らかに、これはデータをロードしたテーブルにのみ影響し、残りのテーブルには影響しません。)delete_all
MyModel.create!(...)
db:seed
https://stackoverflow.com/a/14957893/4553442に「ダーティ ハック」があり、上下の移行に似た「シード解除」操作を追加します...