🗑️

Payment Temizleme Planı

14 Ocak 2026 ve öncesi payment verilerinin analizi ve silme planı

⚠️ HARD DELETE - Veriler kalıcı olarak silinecek. Geri getirilemez!

📊 ÖZET İSTATİSTİK

366
Toplam Payment
359
Completed
7
Pending
611,702.60 ₺
Toplam Tutar

📅 Tarih Aralığı

✅ Kalacak Veriler

15 Ocak 2026 ve sonrası

Sistem canlıya alındıktan sonraki gerçek veriler

🗑️ Silinecek Veriler

14 Ocak 2026 DAHİL ve öncesi

Test verisi, migration verisi, eksik veriler

🗑️ Silinecek Veriler - Detay

Payment Durumlarına Göre Dağılım

359
Completed (Tamamlanmış)
Ödeme başarılı, işlem tamamlandı
7
Pending (Beklemede)
Ödeme başlatıldı, tamamlanmadı
0
Failed (Başarısız)
Ödeme başarısız oldu
0
Cancelled (İptal)
Ödeme iptal edildi

İlişkili Kayıt Türleri

Bu payment'lar şu kayıtlara bağlı:

  • Order: Sipariş kayıtları (cart_orders tablosu)
  • Subscription: Abonelik kayıtları (subscriptions tablosu)

⚠️ DİKKAT: Payment silindiğinde ilişkili Order kayıtları yetim kalabilir (orphaned records). Bu order'ları da silmek gerekebilir.

📋 Öne Çıkan Örnekler (Son 10 Kayıt)

ID Payment Number Tutar Durum Order User Tarih
51 PAY-20260114223750-E1847E 720.00 ₺ completed ORD20260114E15CDE NULL 14.01.2026 22:37
50 PAY-20260114211928-0B9897 720.00 ₺ completed ORD202601140B7791 NULL 14.01.2026 21:19
400 PAY-MIGRATED-1272 720.00 ₺ completed Subscription #973 NULL 14.01.2026 18:10
49 PAY-20260114150312-070EA3 720.00 ₺ completed ORD2026011406EB51 NULL 14.01.2026 15:03
45 PAY-20260114140228-48767A 720.00 ₺ pending ORD202601144851D7 NULL 14.01.2026 14:02

💾 Tam liste: payment-old-data-report.json dosyasında 366 kayıt mevcut

🔗 İlişkili Kayıtlar

📦 Cart Orders (Siparişler)

Bu payment'ların çoğu cart_orders tablosundaki siparişlere bağlı.

İlişki: payments.payable_type = 'Modules\Cart\App\Models\Order'

Foreign Key: payments.payable_id → cart_orders.order_id

⚠️ SORUMLU SİLME: Payment silinirse ilişkili order'ı da silmek mantıklı (yoksa yetim kalır)

🎫 Subscriptions (Abonelikler)

Bazı payment'lar (PAY-MIGRATED-*) doğrudan subscription'lara bağlı.

İlişki: payments.payable_type = 'Modules\Subscription\App\Models\Subscription'

Foreign Key: payments.payable_id → subscriptions.subscription_id

💡 NOT: Migration subscription'ları zaten kullanımda olabilir. Payment silinse bile subscription'ın kendisi kalmalı.

🗑️ Silme Planı

1

Veritabanı Yedeği Al

Yedeklenecek Tablolar:

• payments (366 kayıt - 14 Ocak ve öncesi) • cart_orders (ilişkili order'lar)

💾 Yedek konumu: /var/www/vhosts/muzibu.com/backups/2026-01-16-payment-cleanup/

2

Kullanıcı Onayı

Bu raporu inceleyip onay verdikten sonra silme işlemi başlatılacak.

⚠️ HARD DELETE seçildi - Veriler KALICI olarak silinecek, SOFT DELETE değil!

3

İlişkili Order'ları Sil

DELETE FROM cart_orders WHERE DATE(created_at) <= '2026-01-14' AND order_id IN (SELECT payable_id FROM payments WHERE ...);

Önce order'lar silinmeli (foreign key constraint)

4

Payment Kayıtlarını Sil

DELETE FROM payments WHERE DATE(created_at) <= '2026-01-14';

⚠️ 366 kayıt kalıcı olarak silinecek

5

Doğrulama ve Rapor

Silme işlemi sonrası kontrol:

  • • Admin panelde payment listesi temiz mi?
  • • 15 Ocak ve sonrası veriler etkilenmemiş mi?
  • • Silme raporu oluştur (kaç kayıt silindi)

⚠️ RİSKLER VE DİKKAT EDİLECEKLER

🔴

HARD DELETE - Geri Getirilemez!

Soft delete değil, kalıcı silme. Yedek olmadan GERİ ALINAMAZ!

⚠️

Foreign Key Constraints

Order'ları payment'tan önce silmek gerekebilir (foreign key hatası olabilir)

🔍

User ID NULL

Çoğu payment'ın user_id'si NULL - test verisi veya eksik migration

💰

611,702.60 ₺ Tutar

Test verisi olsa bile büyük tutar - gerçek ödeme değil mi kontrol et!

✅ Onay Listesi

⚠️ Tüm onayları verdikten sonra silme işlemini başlatmak için Claude'a bildirebilirsin.

📁 Oluşturulan Dosyalar

payment-analyze-old-data.php

Analiz scripti (tekrar çalıştırılabilir)

payment-old-data-report.json

Tam veri raporu (366 kayıt detaylı)

public/readme/2026/01/16/payment-cleanup-plan/

Bu HTML rapor