¿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:seedoperació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
rakeherramienta de línea de comandos tiene un alias comorailsahorarails db:reseten vez derake db:resetfuncionará igual de bien
fuente
Puede usarlo
rake db:resetcuando 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:dropCargar el esquema:rake db:schema:loadSembrar los datos:rake db:seedPero 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