Respuestas:
Utilizo rake db:reset
cuál cae y luego recrea la base de datos e incluye su archivo seed.rb.
http://guides.rubyonrails.org/migrations.html#resetting-the-database
Puede eliminar todo y volver a crear la base de datos + semillas con ambos:
rake db:reset
: cargas de schema.rbrake db:drop db:create db:migrate db:seed
: cargas de migracionesAsegúrese de no tener conexiones a db (servidor rails, cliente sql ...) o el db no se caerá.
schema.rb es una instantánea del estado actual de su base de datos generada por:
rake db:schema:dump
Si no tiene ganas de soltar y recrear todo el shebang solo para volver a cargar sus datos, puede usar MyModel.destroy_all
(o delete_all
) en el archivo seed.db para limpiar una tabla antes de que sus MyModel.create!(...)
declaraciones carguen los datos. Luego, puede rehacer la db:seed
operación una y otra vez. (Obviamente, esto solo afecta a las tablas en las que ha cargado datos, no al resto).
Hay un "truco sucio" en https://stackoverflow.com/a/14957893/4553442 para agregar una operación de "eliminación de semillas" similar a la migración hacia arriba y hacia abajo ...
A partir de Rails 5, la rake
herramienta de línea de comandos tiene un alias como rails
ahora
rails db:reset
en vez de rake db:reset
funcionará igual de bien
Puede usarlo rake db:reset
cuando desee soltar la base de datos local y comenzar de nuevo con los datos cargados desde db/seeds.rb
. Este es un comando útil cuando todavía está calculando su esquema, y a menudo necesita agregar campos a los modelos existentes.
Una vez que se usa el comando de reinicio, hará lo siguiente: Descartar la base de datos: rake db:drop
Cargar el esquema: rake db:schema:load
Sembrar los datos:rake db:seed
Pero si desea eliminar por completo su base de datos, puede usarla rake db:drop
. Eliminar la base de datos también eliminará cualquier conflicto de esquema o datos incorrectos. Si desea conservar los datos que tiene, asegúrese de hacer una copia de seguridad antes de ejecutar este comando.
Este es un artículo detallado sobre los comandos de base de datos de rastrillo más importantes .