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:
Lembrando que no Rails 5 tanto o comando rails db como rake db funciona de forma igual…