rake db:setup, db:reset e db:migrate:reset

As tarefas de banco de dados mais básicas do Rails provavelmente são essas:

  • rake db:drop – deleta o banco de dados
  • rake db:create – cria o banco de dados
  • rake db:migrate – roda as migrations
  • rake db:seed – roda as seeds
  • rake db:schema:load – carrega o schema diretamente (sem rodar as migrations)

É possível retornar o banco de dados de desenvolvimento a um “estado inicial” usando  rake db:setup ou rake db:reset, mas é fácil confundir a diferença entre as duas tarefas. Na realidade, nenhuma delas roda a sequência drop, create e migrate. Quem faria isso seria a rake db:migrate:reset. As anteriores carregam o schema diretamente pulando a migração passo a passo.

Então em resumo:

  • db:migrate:reset – [ db:drop, db:create, db:migrate ]
  • db:setup – [ db:schema:load, db:seed ]
  • db:reset – [ db:drop, db:setup ]

Fonte:

Deixe uma resposta