Uygulamamın ilk sürümlerinde SugarORM kullanıyorum. Şimdi, DB'ye eklenen yeni tabloları olan ikinci sürümde çalışıyorum.Şeker ORM Geçişi: Yeni tablo damlaları oluşturun/varolan tabloları yeniden oluşturun
SugarORM documentation'a göre "Sugar, yeni varlıklar için tabloları otomatik olarak oluşturacaktır, bu nedenle, taşıma komut dosyanızın yalnızca mevcut tablolardaki değişikliklerin ihtiyaçlarını karşılaması gerekir."
İşte yaptığım budur:
- yeni kayıt sınıfını düzenlendi AndroidManifest
<meta-data android:name="VERSION" android:value="2" />
- DB versiyonunu arttırıldı.
public class NewModel extends SugarRecord<NewModel>
Uygulamayı çalıştırdığınızda, Şeker yeni tabloyu oluşturdu, ancak maalesef yerel olarak kaydedilen tüm verileri silerek mevcut tabloları da bıraktı/oluşturdu!
Ayrıca, CREATE TABLE NEW_MODEL
bildirimi içeren 2.sql
geçiş komut dosyası ekleyerek yeni tabloyu kendim oluşturmaya çalıştım. Maalesef, "Tablo zaten var" diye bir istisna attı çünkü Şeker yeni masayı yarattı ve sonra senaryonumu çalıştırmaya çalıştı!
Herhangi bir öneriniz var mı?
Bu dokümantasyonda bahsedilmediğini, bana bir sürü baş ağrısına yol açtığını hayretle şaşırtıyor .. –
Şeker belgelerinde pek çok şeyden bahsetmediği hayret verici ... – Eugene