Veritabanı düzeni
Görev kaydı ve yörünge verileri dâhil olmak üzere yüksek hacimli veya yaşam döngüsüne özgü birkaç özellik, ayrılmış SQLite depoları kullanır.
Sürümleme sözleşmesi
Her veritabanı şemasını iki yerde kaydeder:PRAGMA user_version, SQLite şema sürümüdür.- Birincil
schema_metasatırı;role,agent_id,schema_versionveapp_versiondeğerlerini kaydeder.app_version, şema meta verilerini en son yazan OpenClaw derlemesidir.
user_version değeri çalışan derlemeden daha yeni olan bir veritabanını reddeder ve newer schema version hatası bildirir. Gateway, başlatılmadan önce kayıtlı tüm veritabanlarını denetler. openclaw update ayrıca, bildirilen şema desteği diskteki bir veritabanından daha eski olan bir paketi veya kaynak hedefini reddeder. Şema meta verileri eklenmeden önce yayımlanan hedef paketlerde ön denetim yapılamaz.
OpenClaw’u npm aracılığıyla elle yüklemek, güncelleyici korumasını atlar. Veritabanı açma denetimleri uyumsuz bir derlemeyi yine de reddeder.
Agent şema geçmişi
Sürüm 3, sürüm 4’e dâhil edilen, yayımlanmamış bir geliştirme adımıydı.
Durum şeması geçmişi
Bütünlük denetimleri
Gateway ön denetimi yalnızca şema üstbilgilerini okur. Geçiş gerektirmeyen veritabanlarının daha yavaş tam taramasından arka plan doğrulayıcısı sorumludur.
Karantina kararları yalnızca ayrılmış bir
openclaw-quarantine.sqlite deposunda tutulur; böylece karantinaya alınan veritabanları hasar görse bile korunur. Doğrulama sonuçları günlüğe kaydedilir.
Sorun giderme
2026.7.2 sürümüne güncelledikten sonra neden geri dönemezsiniz?
v2026.7.1 dâhil olmak üzere bu sürüme kadarki her sürüm, agent şeması 1’i ve durum şeması 1’i kullandı. 2026.7.2 sürüm serisi (v2026.7.2-beta.1 ile başlayarak), ilk başlatmada veritabanlarınızı ileri taşır. Bu geçiş tek yönlüdür: veriler daha yeni şemaya göre yeniden yazılır ve sonrasında daha eski bir OpenClaw yüklemek bu işlemi geri almaz. Eski derleme, veritabanının sahibi olan derlemeyi belirten bir newer schema version hatasıyla başlatmayı reddeder.
İkili dosyanın sürümünü düşürmek, verilerin sürümünü hiçbir zaman düşürmez. Güncellemeden sonra 2026.7.2’den eski bir sürümü çalıştırmanız gerekiyorsa üç seçeneğiniz vardır:
- Güncellemeden önce alınmış bir yedeği geri yükleyin. Büyük güncellemelerden önce yedekleri oluşturun ve doğrulayın.
- Eski derlemeyi ayrı bir durum diziniyle (
OPENCLAW_STATE_DIR) çalıştırın. Temiz bir başlangıç yapar; daha yeni derlemeye döndüğünüzde kullanabilmeniz için taşınmış verileriniz değiştirilmeden kalır. - Aşağıdaki elle sürüm düşürme prosedürünü izleyin. Bu prosedür desteklenmez ve doğrulanmış bir yedek olmadan veri kaybı riski taşır.
openclaw update, mevcut veritabanlarınızı açamayan bir sürümü yüklemeyi reddeder; dolayısıyla güncelleyici sizi bu duruma sokmaz. Daha eski bir sürümü npm aracılığıyla elle yüklemek bu korumayı atlar; veritabanları eski ikili dosyayı yine reddeder, ancak bunu yalnızca dosya yüklendikten sonra yapar.
Gateway, daha yeni şema sürümü hatasıyla başlamayı reddediyor
Veritabanlarınızı daha yeni bir OpenClaw derlemesi yazmıştır ve çalışan derleme daha eskidir. Hata ve Gateway başlatma günlüğü, veritabanının sahibi olan derlemeyi (app_version) belirtir. Bu sürümü veya daha yenisini yükleyin ya da yukarıdaki seçeneklerden birini kullanın. Hatayı susturmak için veritabanını düzenlemeyin.
Bütünlük doğrulaması başarısız olduktan sonra bir veritabanı karantinaya alındı
Arka plan doğrulayıcısı dosyanın bozuk olduğunu kanıtlamıştır ve artık her açılışta yeniden tarama yapmak yerine işlem hızla başarısız olur. Veritabanını bir yedekten geri yükleyin veya onarın, ardından karantina kaydını temizlemek içinopenclaw doctor --fix komutunu çalıştırın. Karantina kaydının kendisi temizlenemiyorsa Doctor açık bir hata bildirir; temiz olduğunu bildirene kadar komutu yeniden çalıştırın.
Sürüm düşürmeler desteklenmez
Elle şema sürümü düşürme işlemleri, riski kabul eden agent’lar ve operatörler içindir. Herhangi bir veritabanını düzenlemeden önce bir yedek oluşturun ve doğrulayın. Gateway’i ve veritabanını açabilecek tüm işlemleri durdurun. Genel prosedür şöyledir:- Hedef sürümün şemasını ve geçişlerini okuyun.
- Tek bir işlem içinde, hedef sürümden sonra eklenen tüm tabloları, dizinleri, tetikleyicileri ve sütunları kaldırın.
PRAGMA user_versionveschema_meta.schema_versiondeğerlerini hedef sürüme ayarlayın.- Gateway’i başlatmadan önce hedef sürümün tam veritabanı doğrulamasını çalıştırın.
Örnek: agent şeması 11’den 9’a
Şema 10, etkin transkript izdüşümünü ekledi. Şema 11; kiralamaları, kalıcı teslimatı, konuşma adresi durumunu ve Heartbeat sonuçlarını ekledi. QMD koordinasyonustate_leases içindeki satırları kullanır; korunması gereken ayrı bir QMD tablosu yoktur.
Tam olarak hangi şemanın yazdığını inceledikten sonra, etkilenen her agent başına veritabanında eşdeğer SQL’i çalıştırın: