Bir Play projesini Sürüm 2.3.4'den 2.4.2'ye geçirdim. Projeler JPA (Hazırda Beklet) ve Evolutions kullanıyor. Veritabanını bazı örnek verilerle dolduran ilk Evrim SQL komut dosyası var. Bu betik artık çalışmıyor, çünkü Evrimler komut dosyaları artık Hazırda Bekletmeden önce tabloları oluşturuyor, bu da bir hataya neden oluyor. Bu istenen bir davranış mı? İcra sırasını değiştirmenin bir yolu var mı?Yürütme Çerçevesi'ndeki Evolutions ve JPA'yı Oynatın 2.4
cevap
Evrimler, düz SQL komut dosyaları ile oluşturma ve güncelleştirme veritabanı hakkında. Eğer veri tabloları kendisi üretir bazı çerçeve kullanmak, yani hazırda gibi, o zaman ben de benzer var
başlangıçta üzerinde
Dolgu veritabanını (sadece açılımlar veya autogeneration kapatın ve kullanmak) açılımlar kapatmanız gereklidir Cassandra'da sorun, ne yaptım - sadece CQL dosyasını okuyan ve yürüten bir kod oluşturun ve bu kodu gerçek veri tablolarını oluşturduktan sonra çalıştırın. - Hazırda zaten bu özelliğe sahip Gördüğünüz gibi
Eğer Sınıfyolu kök /import.sql
dosya içine özel bir SQL kodu koymak gerekir:
import.sql adlı bir dosya kök varsa sınıf yolu ('/import.sql') Hazırda bekletme, veritabanı şemasının oluşturulmasından sonra dosyadan okunan SQL deyimlerini yürütür.
- 1. Oyun çerçevesindeki ters yönlendirme 2.4.x
- 2. Yürütme çerçevesindeki satır içi değişkeni 2.x Scala şablonu
- 3. Çerçeve 2.0'ı oynatın.
- 4. WAV dosyasını geri oynatın
- 5. İndirirken mp3 dosyasını oynatın mı?
- 6. python'da MIDI dosyalarını oynatın mı?
- 7. Vektör çerçevesindeki bir veri çerçevesindeki çarpı sütunlar
- 8. Grails 2.4 hata
- 9. httpd 2.4'te (mod_ssl)
- 10. Oynatıcıda Özel Yönlendirici 2.4
- 11. android.content.res.Resources $ Robolectric'de NotFoundException 2.4
- 12. Youtube veri API'si: Medya akışına erişin ve oynatın (JAVA)
- 13. Jquery Tablo yürütme yürütme
- 14. Oyun Anlama 2.4 Bağımlılık Enjeksiyon
- 15. Python 2.4'de uyarıları sayma
- 16. R Paket ve yürütme süresi
- 17. JavaScript RegExp: sınama ve yürütme
- 18. C# uygulamasında Raspberry Pi h264 akışını oynatın
- 19. Birden çok veri çerçevesindeki satır adlarını veri çerçevesindeki sütuna dönüştürme
- 20. Android Studio Canary 2.4 hatalar
- 21. Qt kullanarak RTP video akışı oynatın mı?
- 22. Yürütme
- 23. Veri çerçevesindeki değerleri R
- 24. Diyalog çerçevesindeki parça güncellenemiyor
- 25. Medya parçalarına sahip video oynatın mı?
- 26. Çok enstrümanlı MIDI dosyasını oynatın IOS
- 27. varlık çerçevesindeki hashset'i kullanma
- 28. Veri çerçevesindeki bir girdiyi,
- 29. Veri çerçevesindeki satırları ""
- 30. Map-azaltma performansı MongoDb 2.2, 2.4 ve 2.6
Ayrıntılı yanıt için teşekkürler, ama ben aynı fikirde değilim. Play dokümanı şöyle diyor: "İlişkisel veritabanı kullandığınızda, veritabanı şeması evrimlemelerinizi izlemek ve düzenlemek için bir yönteme ihtiyacınız var". Bu veritabanına nasıl erişileceğini söylemiyor. Benim düşünceme göre Evrimler, Hazırda Bekletme için mükemmel bir ek oldu çünkü Hazırda Bekletme yalnızca sınırlı göç olanaklarına sahip. Ve önemli olan, Play’de yıllarca çalıştı, bu yüzden bir hata olduğunu düşünüyorum. – linsenfips
"Hazırda bekletme tabloları oluşturur" yazdınız. Bu, hazırda bekletme veritabanınızı düzenlemek anlamına gelir. Tek bir veritabanı güncellemesi mekaniği - evrim veya hazırda bekleme tablosu oluşturma kullanmanız gerekir. Evrimi kullanmak istiyorsanız, Hazırda bekletme tablosu nesnesini kapatın: http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-production. –
UYARI: Bir üretim veritabanının şemasını otomatik olarak güncellemek için SchemaUpdate'i kullanmaya çalışan Hazırda Bekleme kullanıcılarını gördük. Bu, hızla felaketle sonuçlanabilir ve DBA'nız tarafından izin verilmez. –