Ana içeriğe geç

Version Docs Updated

Amaç

Bu sayfa, MHM Rentiva'nın hibrit veritabanı yapısını (WP Core + Native Custom Tables), tablo şemalarını ve veri bütünlüğü standartlarını açıklar.

🗄️ Veritabanı Mimarisi

MHM Rentiva, yüksek performans ve veri bütünlüğü gereksinimleri için WordPress Post/User Meta sistemi ile birlikte Yüksek Performanslı Özel Tablolar (Custom Tables) kullanan hibrit bir mimariye sahiptir.

📊 Özel Tablolar (Custom Tables)

Eklenti, finansal kayıtlar ve SaaS operasyonları için WordPress'in standart tablolarını bypass ederek doğrudan SQL üzerinde optimize edilmiş şu tabloları kullanır:

Tablo AdıAmaçKritik Alanlar
wp_mhm_rentiva_ledgerDeğiştirilemez finansal defter (Immutable Ledger).transaction_uuid, amount, tenant_id
wp_mhm_rentiva_commission_policyKomisyon politikalarının versiyonlanmış kayıtları.version_hash, global_rate, effective_from
wp_mhm_rentiva_tenantsÇoklu kiracı (Multi-tenant) kayıt ve kotaları.tenant_id, status, subscription_plan
wp_mhm_rentiva_usage_metricsSaaS kullanım limitleri ve metrik takibi.metric_type, metric_value, cycle_start

🏗️ Veri Bütünlüğü Prensipleri

  • Immutability (Değiştirilemezlik): ledger tablosundaki kayıtlar asla güncellenmez veya silinmez. Düzeltmeler yeni bir ters kayıt (offsetting entry) ile yapılır.
  • Tenant Isolation: Tüm özel tablolarda tenant_id alanı mevcuttur. Veriler veritabanı seviyesinde mantıksal olarak izole edilmiştir.
  • Audit Trail: Komisyon politikaları version_hash (SHA-256) ile imzalanarak mali denetim izi oluşturulur.

🔑 Meta Key Standartları

Operasyonel veriler (araç özellikleri, müşteri tercihleri vb.) WordPress meta tablolarında şu prefix kuralı ile saklanır: _mhm_rentiva_[kategori]_[alan_adı]

KategoriÖrnek Key
Araç (Vehicle)_mhm_rentiva_vehicle_license_plate
Rezervasyon_mhm_rentiva_booking_payout_status
Müşteri_mhm_rentiva_customer_banned

🧬 Tablo İlişkileri (ER)


Transfer Tabloları

Transfer modulu için iki ozel tablo kullanılır:

Tablo AdiAmacKritik Alanlar
wp_rentiva_transfer_locationsTransfer noktalari (havalimani, otel, liman vb.)name, type, city, lat, lng
wp_rentiva_transfer_routesIki lokasyon arasındaki rota tanımlariorigin_id, destination_id, base_price, min_price, max_price, distance_km

DatabaseMigrator v3.4.0 Değişiklikleri

  • city VARCHAR(100) kolonu rentiva_transfer_locations tablosuna eklendi (vendor marketplace şehir bazli filtreleme için)
  • max_price DECIMAL(10,2) kolonu rentiva_transfer_routes tablosuna eklendi (vendor fiyat araligi ust siniri)

Bakim ve Gelistirme

  • Migrations: Veritabanı semasi src/Core/Database/Migrations/ altında tanımlanmıştir. MultiTenantMigration ve LedgerMigration siniflari dbDelta kullanarak guvenli güncelleme yapar.
  • Audit Tool: Veritabanı tutarliligi wp mhm-rentiva audit CLI komutlari ile dogrulanabilir.

Uninstaller Tablo Listesi

Eklenti kaldırıldıginda asagidaki tablolar temizlenir:

TabloKategori
wp_mhm_rentiva_ledgerFinans
wp_mhm_rentiva_commission_policyFinans
wp_mhm_rentiva_tenantsSaaS
wp_mhm_rentiva_usage_metricsSaaS
wp_mhm_notification_queueSistem
wp_mhm_payment_logSistem
wp_mhm_sessionsSistem
wp_rentiva_transfer_locationsTransfer
wp_rentiva_transfer_routesTransfer

Legacy mhm_rentiva_transfer_* tabloları da varsa temizlenir.

Bölüm Sonu Özeti

  • Kritik finans verileri Custom Tables uzerinde SQL gucuyle yonetilir.
  • Transfer tabloları city ve max_price kolonlariyla vendor marketplace'i destekler.
  • Esnek veriler WP Meta sisteminde saklanir.
  • Multi-tenancy yapısı tenant_id parametresiyle tum katmanlara yayılmıştır.
  • Uninstaller 9 ozel tablo + legacy tabloları temizler.

Değişiklik Günlüğü

TarihSürümNot
27.03.20264.23.0Transfer tabloları (locations + routes), DatabaseMigrator v3.4.0 değişiklikleri (city, max_price), Uninstaller tablo listesi (9 tablo + legacy) eklendi.
19.03.20264.23.0Veritabanı dokumantasyonu SaaS ve Finans mimarisine gore bastan yazildi.