sql >> Base de Datos >  >> RDS >> PostgreSQL

Tarea de rake para truncar todas las tablas en Rails 3

Encontré esto a través de Google, y luego obtuve una solución mucho más simple que la aprobada, así que aquí está:Use el limpiador_de_base_de_datos joya. Estos son los pasos.

En su Gemfile (ejecutar paquete después de modificar):

gem 'database_cleaner' # you might want to limit this to the dev and staging group

Con esa gema en su lugar, la instrucción DatabaseCleaner.clean_with :truncation truncará la base de datos. Agregarlo a una tarea de rake es 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

Eso es todo. También puede usar DatabaseCleaner.clean_with :truncation línea dentro de su db/seeds.rb archivo directamente para que no olvide truncar la base de datos antes de sembrar.