Ana Sayfa

SQLite: Oturum Eklentisi ile Veritabanı Değişikliklerini Yönetme

1 dk okuma

SQLite'ın oturum eklentisi, veritabanı tablolarındaki değişiklikleri kaydetmek, bu değişiklikleri "changeset" veya "patchset" dosyaları halinde paketlemek ve daha sonra aynı değişiklikleri uyumlu şemaya sahip başka bir veritabanına uygulamak için kullanışlı bir mekanizma sunar. Bu eklenti, özellikle büyük veritabanı dosyaları üzerinde birden fazla kullanıcının eş zamanlı çalıştığı ve değişiklikleri birleştirmek istediği senaryolarda büyük kolaylık sağlar. Örneğin, iki tasarımcı aynı temel tasarım üzerinde çalışırken, gün sonunda her biri kendi değişikliklerini bir "changeset" olarak dışa aktarabilir ve diğerinin veritabanına uygulayarak tüm değişiklikleri tek bir birleşik tasarımda birleştirebilir.

Bu eklenti, Unix'teki patch yardımcı programına veya Fossil, Git veya Mercurial gibi sürüm kontrol sistemlerinin "birleştirme" yeteneklerine benzer bir işlevsellik sunar. SQLite'ın 3.13.0 sürümünden itibaren kaynak dağıtımına dahil edilmiş olsa da, varsayılan olarak devre dışıdır ve DSQLITE_ENABLE_SESSION ile DSQLITE_ENABLE_PREUPDATE_HOOK derleyici anahtarlarıyla etkinleştirilmesi gerekir. Eklenti, yalnızca PRIMARY KEY tanımlanmış tablolarda çalışır ve sanal tabloları desteklemez. Ayrıca, PRIMARY KEY sütunlarında NULL değer içeren satırlardaki değişiklikleri kaydetmez.

3.17.0 sürümünden itibaren hem rowid hem de WITHOUT ROWID tablolarını desteklemektedir, ancak WITHOUT ROWID tabloları için birincil anahtarların kaydedilmesi ek adımlar gerektirebilir. Oturum modülü, temel olarak değişiklik kümeleri oluşturma ve bunları işleme etrafında döner; bir değişiklik kümesi, bir veritabanına yapılan bir dizi değişikliği (INSERT, UPDATE, DELETE gibi) kodlayan bir veri blobudur.

İçgörü

Bu eklenti, SQLite veritabanlarını kullanarak işbirliği içinde geliştirme yapan veya veritabanı değişikliklerini kolayca senkronize etmek isteyen geliştiriciler için güçlü bir sürüm kontrol ve birleştirme yeteneği sunar.

Kaynak