SORU
13 HAZİRAN 2009, CUMARTESİ


En iyi uygulamalar in-app veritabanı göç için Sqlite için

Benim iphone için sqlite kullanıyorum ve veritabanı şeması zamanla değişir diye umuyorum. Bu sorunlar, dikkat sözleşmeler ve işler başarılı bir geçiş her zaman yapmak adı ne?

Örneğin, veritabanı adı için bir sürümü (örneğin Database_v1) ekleme düşündüm.

CEVAP
15 HAZİRAN 2009, PAZARTESİ


Periyodik olarak sqlite veritabanı güncelleme ve yeni şema için eski veritabanları geçirmek için gereken bir uygulama korumak ve burada yaptığım şey bu:

Veritabanı sürüm izleme, kullanıcı sürümü değişken sqlite sağlar dahili (sqlite bu değişken ile, hiçbir şey yapmaz, ancak kullanmak için ücretsiz lütfen) kullanıyorum. 0 ve aşağıdaki sqlite tablolar ile bu değişken seti alabilirsiniz başlıyor:

> PRAGMA user_version;  
> PRAGMA user_version = 1;

App başladığında, ben geçerli kullanıcı sürümü, güncel şema getirmek için gerekli değişiklikleri uygulamak, ve sonra kullanıcı sürümü güncelleştirme kontrol edin. Ben eğer bir şey yanlış giderse, değişiklikleri bağlı değil, böylece bir işlem güncelleştirmeleri sarın.

Şema değişiklikleri yapmak için, sqlite destekler "ALTER TABLE" sözdizimi belirli işlemleri (tablo yeniden adlandırma veya bir sütun eklemek için. Bu mevcut tablolar yerinde güncellemek için kolay bir yoludur. Belgeleri buraya bakın: http://www.sqlite.org/lang_altertable.html. Silmek için sütunlar veya diğer değişiklikler değil tarafından desteklenen "ALTER TABLE" sözdizimi, yeni bir tablo oluşturun, göç tarih içine, bırak eski masa ve yeniden adlandırmak için yeni bir tablo için orijinal adı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011