MHM Rentiva v4.26.2: Tam Kaldırma Temizliği ve CLI Bootstrap Güçlendirmesi
v4.26.2, eklenti kaldırıldığında arkada kalan tüm tabloların silinmesini sağlıyor, wp-cli bootstrap sırasındaki fatal hatayı gideriyor ve şema migration'ların artık sürüm değişikliğinde otomatik çalışmasını garantiliyor. Üç düzeltme de üretim ortamlarındaki sessiz sorunları hedefliyor.
🧹 Kaldırma Temizliği — Artık 27 Tablonun Hepsi
Önceden eklenti "verileri temizle" seçeneği ile silindiğinde 14 alt sistem tablosu veritabanında yetim kalıyordu: ledger, key_registry, commission_policy, payout_audit, tenants, usage_metrics ve eski alert/payment alt sistemlerine ait artık kullanılmayan tablolar. Bu v4.26.2 ile tamamen çözüldü.
Yapılan iyileştirmeler:
- Tam liste: 27 özel tablonun tamamı kaldırma sırasında siliniyor
- Pattern güvenlik ağı: Listede olmayan ama
mhm_rentiva_*önekiyle başlayan herhangi bir yetim tablo da otomatik yakalanıp siliniyor — gelecekte eklenen tablolar için güvence - Kurtarma tablosu temizliği:
DatabaseCleanertarafından oluşturulanpostmeta_backup_invalid_*geçici tabloları da kaldırma sırasında temizleniyor - Tek kaynak prensibi: Silme listesi ve istatistik sayacı artık aynı kaynaktan okuyor — sayaç ile gerçek temizlik birbirinden uzaklaşamaz
- Savunma mekanizmaları:
uninstall.phpve taksonomi temizleme adımı artık bozuk bir ayar kaydı veya eksik taksonomi nedeniyle sessizce durmuyor — hata yakalanıyor ve kalan adımlar çalışmaya devam ediyor
Doğrulama: DemoSeed Docker ortamında v4.26.2 kaldırma testi → 0 tablo, 0 post, 0 ayar artık geride kalıyor. Tam temiz kaldırma garantili.
🔧 CLI Bootstrap Fatal Error Düzeltmesi
Önceden belirli koşullarda wp-cli komutları TypeError veya is_user_logged_in() undefined function hatasıyla çöküyordu. Kök nedeni iki yerde yatıyordu:
SettingsCore::get()vehas()bir ayar kaydının dizi olmadığı durumdaTypeErrorfırlatıyorduAdvancedLogger::log()WordPress tam yüklenmeden (örneğin early bootstrap'te) çağrıldığındais_user_logged_in()'i çağırıyordu ama bu fonksiyon o aşamada tanımlı değildi
Çözüm:
SettingsCore::get()/has()artık dizi olmayan bir ayar değerini tolere ediyor ve güvenli varsayılana düşüyorAdvancedLogger::log()plugins_loadedhook'u çalışmadan önce çağrıldığında erken return ediyor — log atlanır ama bootstrap çökmez
Etkisi: wp plugin activate mhm-rentiva, wp mhm-rentiva * subkomutları ve diğer wp-cli akışları artık bozuk bir ayar kaydı ya da early-bootstrap log denemesi ile çökmüyor.
🔄 Otomatik Şema Migration'ları
v4.26.2 ile şema migration'ları artık eklenti dosya sürümü değiştiğinde otomatik çalışıyor, WordPress aktivasyon hook'u çağrılmasa bile. Bu; manuel ZIP yükleme, FTP ile güncelleme ve wp-cli plugin update akışlarını kapsar.
Önceki durum: Yeni tabloları oluşturmak için eklentiyi pasifleştirip tekrar etkinleştirmek gerekiyordu. Kullanıcıların çoğu bunu bilmediğinden "yeni özellik çalışmıyor" raporu geliyordu.
Yeni durum: DB_VERSION sabiti değişir değişmez migration'lar sessizce ve tek seferlik çalışır. Aktivasyon hook'u hala destekleniyor — sadece artık zorunlu değil.
📋 Değişiklik Kaydı
| Tür | Açıklama |
|---|---|
| 🧹 Kaldırma | Tüm 27 özel tablo (ledger, key_registry, commission_policy, payout_audit, tenants, usage_metrics + eski alt sistem tabloları) |
| 🛡️ Kaldırma | Pattern tabanlı güvenlik ağı (mhm_rentiva_* öneki) |
| 🧹 Kaldırma | postmeta_backup_invalid_* kurtarma tabloları |
| 🔧 Kaldırma | Silme listesi ve istatistik sayacı tek kaynaktan |
| 🛡️ Kaldırma | uninstall.php ve taksonomi temizliğinde savunma mekanizmaları |
| 🔄 Güncelleme | Şema migration'ları sürüm değişikliğinde otomatik çalışıyor |
| 🐛 Düzeltme | SettingsCore::get()/has() dizi olmayan değerleri tolere ediyor |
| 🐛 Düzeltme | AdvancedLogger::log() WordPress yüklenmeden güvenli dönüş |
📁 Değiştirilen Dosyalar
uninstall.php(defensive is_array guard + tam tablo listesi)src/Admin/Core/Utilities/DatabaseCleaner.php(27 tablo + pattern wildcard)src/Admin/Core/Utilities/DatabaseMigrator.php(otomatik migration tetikleme)src/Admin/Core/SettingsCore.php(non-array toleransı)src/Admin/Core/Logging/AdvancedLogger.php(plugins_loaded guard)mhm-rentiva.php(versiyon güncelleme)
⬆️ Güncelleme Notu
v4.26.2 tamamen geriye dönük uyumlu bir patch sürümüdür — DB şemasında yeni tablo, kolon veya veri değişikliği yoktur. Güncelleme sonrası ek bir işlem gerekmez. Eklentiyi normal yollarla güncellemeniz yeterli:
- WordPress admin → Eklentiler → Güncelle
- Veya
wp plugin update mhm-rentiva --allow-root - Veya manuel ZIP yükleme (artık otomatik migration tetiklenir)
Daha fazla bilgi için Doküman Sayfamızı ziyaret edin.
