Yüksek seviyeli bir dilde (Python, Ruby gibi) tasarlanmış projeksiyonum için elle yazılmış bir şema kullanmalı mıyım yoksa ORM çözümümün otomatik olarak oluşturmasına izin vermeli miyim? Sonuç olarak, tüm verileri yok etmeden geçiş yapmam gerekecek. Belirli bir RDBMS'ye bağlı olmak iyi bir şeydir, ancak kısıtlamalar ve prosedürler gibi özellikler bir şekilde desteklenebilirse iyi olur.ORM: El ile yazılmış şema veya otomatik olarak oluşturulmuş mu?
cevap
ORM tarafından oluşturulan şema ile hiçbir zaman gitmem.
ORM'nin şemayı oluşturmak istediği yöntemlerin, veritabanımın nasıl yapılandırılmasını istediğim ile genellikle toplam oranlarda olduğunu buluyorum. Ayrıca, bunun önemsiz olduğunu biliyorum, isimlendirme programı genellikle zayıf.
Veritabanı yapısının kendi kısıtlamaları vardır, genellikle ORM otomatik üretim araçlarının tam olarak düşünmediğini fark ettim. Ve daha sonra veritabanınızda raporları çalıştırmak isteyecekseniz (ve yapacaksınız), o zaman iyi bir veritabanı yapısına ve tasarıma sahip olmak çok önemlidir.
ORM'nin istediği şemayı oluşturmasına izin verin. Sonra her zaman çok yavaş olan veya farklı bir şekilde istediğiniz şeyleri değiştirebilirsiniz. Ancak, hızlı bir şekilde başlamanıza ve çalışacak bir şey yapmanıza izin verir, artı ORM insanları genellikle şema oluşturma konusunda ne yaptıklarını bilirler.
this Coding Horror article konusuna bakın ve sonunda yapmanız gereken bu geçişle ilgili tartışmalara bağlantılar. Şimdi bunun için plan yapın.
Ayrıca bkz. Martin Fowler on database evolution; Özellikle test veri üretiminin veritabanı kurulumunun bir parçası olduğu fikrini tavsiye ederim. Bu fikir biraz gelişmemiş olabilir, çünkü farklı ortamlardaki farklı sorunların açık bir şekilde belirlenmesi, üretimden QA'ya karşı geliştirme.
ORM çözümünüzün bunu üretmesine izin verin, ancak yalnızca körü körüne kullanmayın; Bunu oku ve akıl-kontrol et.
- 1. El yazısıyla yazılmış metin için eğitim tesseract
- 2. Tetik jQuery Otomatik Tamamlama el ile
- 3. Artifactory: Artan katalogu otomatik olarak oluşturuluyor mu?
- 4. Vim kaydet otomatik olarak oluşturulsun mu?
- 5. Alamofire çerezleri otomatik olarak kaydediyor mu?
- 6. Android'de otomatik olarak güncelleniyor mu?
- 7. SQLAlchemy: ForeignKey ile Column otomatik olarak dizin oluşturur mu?
- 8. LLVM-IR'dan otomatik olarak llvm C++ api kodu üretilebiliyor mu?
- 9. Razor, güçlü bir şekilde yazılmış Html.ActionLink ile kolayca çalışmıyor mu?
- 10. Grup abonelikleri otomatik olarak yeniden bağlanıyor mu?
- 11. React, bağlantı noktalarının DOM'dan kaldırılmış bileşenlerini otomatik olarak ayarlıyor mu?
- 12. WinForm Süre Sona Erdiğinde Otomatik Olarak Kapanıyor mu?
- 13. Swashbuckle otomatik olarak oluşturulmuş Swagger dosyasına 200 OK cevabı ekliyor
- 14. Fluent NHibernate: Karıştırma Otomatik haritalama ve el ile eşleştirme
- 15. SqlDataSource, parametre değerini otomatik olarak dönüştürüyor mu…?
- 16. Bokeh grafiğini otomatik olarak ekrana sığdırıyor mu?
- 17. SDF dosyası otomatik olarak oluşturuldu mu?
- 18. Dinamik olarak oluşturulmuş modalda
- 19. python cgi komut dosyası python -m SimpleHTTPServer 8000 veya python -m CGIHTTPServer 8000 ile nasıl konaklanır?
- 20. Akka Uzak: otomatik oluşturulmuş bağlantı noktası olsun
- 21. şimdi NSThread otomatik olarak otomatik oluşturucu oluşturmuyor mu?
- 22. Şema tuşu benzersiz şema anahtarı ile benzersiz
- 23. El ile Joomla!
- 24. Yay Güvenliği: setUserPrincipal el ile
- 25. Birden fazla Mongoose şema özelliği doğrulanıyor mu?
- 26. el ile bir Symfony UploadedFile oluşturuluyor
- 27. Program aracılığıyla şema ve deyimleri yapılandırın
- 28. LISP veya ŞEMA .NET/C'den çağrı #
- 29. EL ile karşılaştırma equignoreCase
- 30. , libC++ veya libstdC++ üzerinde Mac ile oluşturulmuş bir kütüphane idi
Bunun iyi bir başlangıç olduğunu düşünüyorum, ancak genellikle db performans nedenleriyle kendimi üretmeyi ve yönetmeyi bırakmam gerekti. –