Ответы:
Я использую, rake db:reset
который удаляет, а затем воссоздает базу данных и включает ваш файл seed.rb.
http://guides.rubyonrails.org/migrations.html#resetting-the-database
Вы можете удалить все и заново создать базу данных + семена с обоими:
rake db:reset
: загружает из schema.rbrake db:drop db:create db:migrate db:seed
: грузы от миграцийУбедитесь, что у вас нет подключений к db (rails server, sql client ..), иначе db не будет сброшен.
schema.rb - это снимок текущего состояния вашей базы данных, сгенерированный:
rake db:schema:dump
Если вам не хочется отбрасывать и заново создавать весь shebang просто для перезагрузки данных, вы можете использовать MyModel.destroy_all
(или delete_all
) в файле seed.db для очистки таблицы перед тем, как ваши MyModel.create!(...)
операторы загрузят данные. Затем вы можете повторить db:seed
операцию снова и снова. (Очевидно, что это влияет только на таблицы, в которые вы загрузили данные, а не на остальные.)
На сайте https://stackoverflow.com/a/14957893/4553442 есть «грязный хак» для добавления операции «удаления содержимого», аналогичной переносу вверх и вниз ...
Начиная с Rails 5, rake
инструмент командной строки был добавлен как rails
сейчас
rails db:reset
вместо того rake db:reset
будет работать так же хорошо
Вы можете использовать, rake db:reset
когда вы хотите удалить локальную базу данных и начать заново с данными, загруженными изdb/seeds.rb
. Это полезная команда, когда вы все еще разрабатываете свою схему, и вам часто нужно добавлять поля в существующие модели.
Как только команда сброса будет использована, она сделает следующее: Отбросьте базу данных: rake db:drop
Загрузите схему: rake db:schema:load
Заполните данные:rake db:seed
Но если вы хотите полностью удалить свою базу данных, вы можете использовать rake db:drop
. Удаление базы данных также удалит любые конфликты схемы или неверные данные. Если вы хотите сохранить имеющиеся у вас данные, обязательно выполните их резервное копирование перед выполнением этой команды.
Это подробная статья о наиболее важных командах базы данных rake .