PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Tarefa Rake para truncar todas as tabelas no Rails 3


Encontrei isso no google e obtive uma solução muito mais simples do que a aprovada, então aqui está:Use o database_cleaner gema. Aqui estão os passos.

No seu Gemfile (execute o pacote após a modificação):
gem 'database_cleaner' # you might want to limit this to the dev and staging group

Com essa gema no lugar, a instrução DatabaseCleaner.clean_with :truncation irá truncar o banco de dados. Adicioná-lo a uma tarefa de rake é trivial:
# tasks/db/clean.rake

namespace :db do

  desc "Truncate all existing data"
  task :truncate => "db:load_config" do
    DatabaseCleaner.clean_with :truncation
  end

end

É isso. Você também pode usar o DatabaseCleaner.clean_with :truncation linha dentro do seu db/seeds.rb arquivo diretamente para que você não esqueça de truncar o banco de dados antes de propagar.