, benRaylarda birleştirme tablosunu nasıl kırpılır?
Category.destroy_all
veya
Post.destroy_all
İnsan nasıl bir categories_post
tablo kesilmesiyle ilgili gider yapabileceği bir ActiveRecord tabloyu kesmek için mi?
, benRaylarda birleştirme tablosunu nasıl kırpılır?
Category.destroy_all
veya
Post.destroy_all
İnsan nasıl bir categories_post
tablo kesilmesiyle ilgili gider yapabileceği bir ActiveRecord tabloyu kesmek için mi?
Gerçek bir TRUNCATE
için, ham SQL'i çalıştırmak için execute
'u kullanabilirsiniz. modellerini kullanarak
ActiveRecord::Base.connection.execute("TRUNCATE TABLE #{table_name}")
Kişisel örnekler gerçek TRUNCATE
sorguları yapmıyorduk.
destroy_all
TRUNCATE
bir tablo değildir. "Kayıtları eşleştirmek için kayıtların koşullarını yok eder ve yok etme yöntemini çağırır" (link).delete_all
daha yakındır - geri aramaları dikkate almaz - ancak yine de TRUNCATE
.execute
yöntemini kullanarak, model örneklerini oluşturmadan veritabanındaki satırları siler. Ayrıca
, eklemek sonraki kayıt tabloları bir yok katılmak 1.
Katılan tablonuza category_posts denir. Belki modelde tablo adını belirtmeniz gerekmez eğer CategoryPost.destroy_all, çalışması gerekir (CategoryPost)
set_table_name "categories_posts"
Update, bir CategoryPost modeli yoktur, bu nedenle oluşturulmalıdır:
class CategoryPost < ActiveRecord::Base
set_table_name "categories_posts"
end
ait kimliğe sahip olacak, böylece, birincil anahtara otomatik artış sıfırlar MySQL en azından gerçek bir
TRUNCATE
sorgu ilgili model. ör., CategoryPost –bunu oluşturabilirsiniz – jordinl