PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rake tugas untuk memotong semua tabel di Rails 3

Saya telah menemukan ini melalui google, dan kemudian saya mendapat solusi yang jauh lebih sederhana daripada yang disetujui, jadi ini dia:Gunakan database_cleaner permata. Berikut langkah-langkahnya.

Di Gemfile Anda (jalankan bundel setelah memodifikasi):

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

Dengan permata itu, pernyataan DatabaseCleaner.clean_with :truncation akan memotong database. Menambahkannya ke tugas menyapu itu sepele:

# tasks/db/clean.rake

namespace :db do

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

end

Itu dia. Anda juga dapat menggunakan DatabaseCleaner.clean_with :truncation baris di dalam db/seeds.rb file secara langsung sehingga Anda tidak lupa untuk memotong database sebelum melakukan seeding.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengatur beberapa variabel konteks untuk pengguna/koneksi

  2. PostgreSQL - kueri terhadap indeks GIN dari nilai HSTORE

  3. postgres pengguna meluncurkan proses yang menggunakan semua CPU 100% penggunaan

  4. Hapus alias di kueri yang dihasilkan Slick

  5. Apakah ada yang namanya fungsi temp?