¿Hay un comando de rastrillo para borrar los datos en las tablas de la base de datos?
¿Cómo creo un script db: seed para completar previamente los datos en mis tablas?
ruby-on-rails
database
seeding
Blankman
fuente
fuente
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:
fuente
Si no tiene ganas de soltar y recrear todo el shebang solo para volver a cargar sus datos, puede usar
MyModel.destroy_all
(odelete_all
) en el archivo seed.db para limpiar una tabla antes de que susMyModel.create!(...)
declaraciones carguen los datos. Luego, puede rehacer ladb: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 ...
fuente
A partir de Rails 5, la
rake
herramienta de línea de comandos tiene un alias comorails
ahorarails db:reset
en vez derake db:reset
funcionará igual de bien
fuente
Puede usarlo
rake db:reset
cuando desee soltar la base de datos local y comenzar de nuevo con los datos cargados desdedb/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 .
fuente