2010-10-23 18 views

Respuesta

150

Puede borrar todo y volver a crear + semillas de base de datos con ambos:

  1. rake db:reset: cargas de schema.rb
  2. rake db:drop db:create db:migrate db:seed: cargas de migraciones

Asegú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 
+0

Gracias por recordar a las personas que apaguen los servidores para asegurarse de que el DB se elimine correctamente. – aardvarkk

5

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. ..

+0

inteligente, recreando todo desde cero cada vez me llevó mucho – m02ph3u5

2

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

Cuestiones relacionadas