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.
This post is the record of a release that shipped before 6.0.0, which renamed the plugin's post types, taxonomies, options, meta keys and hooks. The identifiers below are the names those versions actually used, and they are kept that way on purpose. For the current names — and a conversion table — see the 6.0.7 release post.
🧹 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.
