SORU
28 Temmuz 2009, Salı


Tümünü sil tablodan her şeyi (Activerecord)

Ama eğer tüm mesajlar, yorumlar, bloglar, vb silmek için ne yapmalıyım? Post.delete_all tüm mesajları silmek için yapabilirim. I. e., tüm modeller üzerinde yineleme ve delete_all yöntemi çalıştırabilirim?

CEVAP
28 Temmuz 2009, Salı


rake db:reset 

Göçler sizin tablo yaratıyor.

Yorum önerdiği gibi, bunu yapmanın daha hızlı bir yolu (ama yeni bir komisyon eklemek zorunda görevi):

namespace :db do
  desc "Truncate all tables"
  task :truncate => :environment do
    conn = ActiveRecord::Base.connection
    tables = conn.execute("show tables").map { |r| r[0] }
    tables.delete "schema_migrations"
    tables.each { |t| conn.execute("TRUNCATE #{t}") }
  end
end

Yanıt kopyalanır: answer on SO.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • MikeyMacintosh

    MikeyM

    28 Aralık 2009
  • TROPFEST

    TROPFEST

    27 Mart 2007