rake db:şema:yük vs göçler
Çok basit bir soru burada - eğer göçler bir uygulama daha karmaşık hale geldikçe, yavaş ve hantal ve çok temiz rake db:schema:load
yerine aramak zorundayız, neden göçler var mı?
Eğer cevabın yukarıda olan göçler için kullanılan sürüm kontrol (bir aşamalı kayıt değişiklikleri için veritabanı), sonra da bir uygulama alır daha karmaşık ve rake db:schema:load
kullanmak yerine, onlar devam etmek korumak onların birincil işlevi?
Dikkat:
Bu soruya cevap Gönderen: rake db:schema:load
verileri silecektirbunu kullanırken bir üretim sunucusuna bu yüzden dikkatli olun.
CEVAP
Göçler ileri sağlamak ve geri veritabanına değişiklikleri adım. Bir üretim ortamında, artımlı değişiklikler dağıtır sırasında veritabanına yapılmalıdır: göçler bu işlevselliği geri alma güvence sağlamak. Eğer rake db:şema:üretim sunucu yükü çalıştırırsanız, tüm üretim verileri silme bitireceğiz. Bu içine almak için tehlikeli bir alışkanlıktır.
O olmak için iyi bir uygulama olduğuna inanıyorum " dedi, bazen "çöküş" göçler. Bu eski göçler silme, tek bir geçiş (şemanız çok benzer.bunların yerine gerektirir dosya rb) ve güncellenmesi "schema_migrations" bu değişikliği yansıtacak şekilde tablo. BUNU YAPARKEN ÇOK DİKKATLİ OLUN! Eğer dikkatli değilse kolayca üretim verileri silebilirsiniz.
Bir yan not olarak, ben asla geçiş dosyalarında veri oluşturma koymak gerektiğine inanıyoruz. Tohum.rb dosya bu, ya da özel bir komisyon ya da dağıtmak işler için kullanılabilir. Geçiş dosyaları içine bu koyarak veritabanı verilerinizi şartname ile şartname şema karışımları ve göç dosyaları çalıştırırken çatışmalarına yol açabilir.
Rake db:db göç:reset ve db arasındaki ...
Döngüsel bir başvuru türü 'ses hı...
Nasıl ayrı veritabanı için birden çok ...
Nasıl bir XML şema görselleştirmek?...
MongoDB Şema Tasarım - Çok küçük belge...