Looking to regularly reset and reseed a database in an environment for your Ruby on Rails application?
Well, there is no need to drop and recreate the database. If you are just looking for a way to empty it and reseed it cleanly,
rails db:seed:replant will take care of that by truncating the tables before seeding them.
namespace :seed do desc "Truncates tables of each database for current environment and loads the seeds" task replant: [:load_config, :truncate_all, :seed] end # ... # desc "Truncates tables of each database for current environment" task truncate_all: [:load_config, :check_protected_environments] do ActiveRecord::Tasks::DatabaseTasks.truncate_all end
That's handy as the user used within the database might not have enough rights to create and drop databases in some environments.