Restablecer la base de datos (purgar todo), a continuación, seed una base de datos
¿Hay un comando rake para borrar los datos en las tablas de la base de datos?
¿Cómo puedo crear un script db:seed para rellenar previamente los datos de mis tablas?
5 answers
Utilizo rake db:reset
que cae y luego recrea la base de datos e incluye sus semillas.archivo rb.
http://guides.rubyonrails.org/migrations.html#resetting-the-database
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-26 05:41:43
Puede eliminar todo y recrear database + seeds con ambos:
-
rake db:reset
: carga desde el esquema.rb -
rake db:drop db:create db:migrate db:seed
: cargas desde migraciones
Asegúrese de que no tiene conexiones con la base de datos (servidor rails, cliente sql..) o el db no caerá.
Esquema.rb es una instantánea del estado actual de su base de datos generada por:
rake db:schema:dump
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-14 13:48:39
Si no tienes ganas de dejar caer y recrear todo el asunto solo para recargar tus datos, puedes usar MyModel.destroy_all
(o delete_all
) en la semilla.archivo db para limpiar una tabla antes de que sus sentencias MyModel.create!(...)
carguen los datos. Luego, puede rehacer la operación db:seed
una y otra vez. (Obviamente, esto solo afecta a las tablas en las que ha cargado los datos, no al resto de ellas.)
Hay un" truco sucio "en https://stackoverflow.com/a/14957893/4553442 para agregar una operación de" des-siembra " similar a migrando arriba y abajo...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:23
A partir de Rails 5, la herramienta de línea de comandos rake
se ha alias como rails
así que ahora
rails db:reset
en lugar de rake db:reset
Funcionará igual de bien
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-15 07:44:58
Puede usar 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 reset, hará lo siguiente:
Eliminar la base de datos: rake db:drop
Cargar el esquema: rake db:schema:load
Siembra los datos: rake db:seed
Pero si desea eliminar completamente su base de datos, puede usar rake db:drop
. Eliminar la base de datos también eliminará cualquier esquema conflictos o datos erróneos. 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 más importantes rake database.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-29 14:13:50