Rails 6 adds db:seed:replant task
Takeaways
rails db:seed:replant(Rails 6+): truncates all tables for the current environment, then loadsdb/seeds.rb.- Replaces awkward workflow:
db:setuprebuilds test + development and re-seeds — overkill when you only want fresh dev/staging seed data. - Safety: runs
db:check_protected_environments— aborts in production unlessDISABLE_DATABASE_ENVIRONMENT_CHECK=1. - Sequence:
db:load_config→db:truncate_all→db:seed(with migration checks).
Notes
Saeloun blog walkthrough of Rails PR #34779. Handy for local dev when seed data or corrupted dev DB needs a clean slate without full schema rebuild.
Open questions
db:seed:replantvs.db:reset/db:drop db:create db:migrate db:seed— when to prefer each?