¿Hay un comando de rastreo para borrar los datos en las tablas de la base de datos?Restablecer la base de datos (purgar todo), luego inicializar una base de datos
¿Cómo creo un script db: seed para completar previamente los datos en mis tablas?
¿Hay un comando de rastreo para borrar los datos en las tablas de la base de datos?Restablecer la base de datos (purgar todo), luego inicializar una base de datos
¿Cómo creo un script db: seed para completar previamente los datos en mis tablas?
Yo uso rake db:reset
que cae y luego recrea la base de datos e incluye su archivo seeds.rb. http://guides.rubyonrails.org/migrations.html#resetting-the-database
Puede borrar todo y volver a crear + semillas de base de datos con ambos:
rake db:reset
: cargas de schema.rbrake db:drop db:create db:migrate db:seed
: cargas de migracionesAsegúrese de que usted no tiene conexiones a db (servidor de rieles, cliente sql ...) o la db no caerá.
schema.rb es una instantánea del estado actual de su base de datos generada por:
rake db:schema:dump
Gracias por recordar a las personas que apaguen los servidores para asegurarse de que el DB se elimine correctamente. – aardvarkk
Si usted no se siente como caer y volver a crear todo el asunto sólo para volver a cargar los datos, se puede utilizar MyModel.destroy_all
(o delete_all
) en el archivo seed.db para limpiar una tabla antes de que sus declaraciones MyModel.create!(...)
carguen los datos. Luego, puede rehacer la operación db:seed
una y otra vez. (Obviamente, esto sólo afecta a las tablas que ha cargado los datos en, no el resto de ellos.)
Hay un "truco sucio" en https://stackoverflow.com/a/14957893/4553442 añadir una operación "de siembra", similar a la migración hacia arriba y abajo. ..
inteligente, recreando todo desde cero cada vez me llevó mucho – m02ph3u5
a partir de los carriles 5, la herramienta de línea de comandos rake
que tenga el alias rails
por lo que ahora
rails db:reset
en lugar de rake db:reset
funcionará igual de bien
Nota al respecto: si está en producción, es posible que tenga que reiniciar el servidor de raíles para que aparezcan los cambios/páginas para actualizar. – etusm