Skip to content
Ercan Labs
← Notlar

Moderasyon bir status alanı değil

İlanı reddetmek tek satır. "Neden reddedildi, kim karar verdi, itiraz edildi mi" sorusu veri modeline bakıyor.

· 4 dk

İlk halinde ilanın bir status alanı vardı: aktif, pasif, reddedildi. Moderasyon kararı bu alana yazılıyordu. Üç ay sonra aynı soru geldi: "Bu ilan neden geçen hafta yayından kalktı?"

Cevap yoktu. Alan son değeri tutuyordu; önceki değeri, kararı veren kişiyi ve gerekçeyi tutmuyordu. Silinen bir satır geri gelmiyor.

Kararı olaya çevirmek

Moderasyon kararı artık ilanın üstünde bir alan değil, ayrı bir kayıt: kim, ne zaman, hangi gerekçe koduyla, hangi kararla. İlanın görünürlüğü bu kayıtlardan hesaplanıyor.

  • Sorulan soru tek bir sorguya dönüştü: ilanın karar geçmişi.
  • Aynı ilan için ikinci kez karar verilebiliyor; önceki kayıt duruyor.
  • İtiraz, karar kaydına bağlı yeni bir kayıt; ayrı bir tablo icat etmek gerekmedi.

Bedeli

Sorgu sayısı arttı. "İlan listede görünsün mü" sorusu artık üç tabloya bakıyor, tek alana değil. Bunu indeksle ve görünürlük durumunu önbelleğe alarak dengeledim. Bedel gerçek: daha karmaşık okuma.

Karşılığında hesap sorulabilir bir sistem var. Bir ay sonra "bunu kim kapattı" diye sorulduğunda cevap bir tık uzakta.

Genel kural

Bir alan, zaman içinde değişen ve sonradan sorgulanacak bir şeyi tutuyorsa alan değil kayıt olmalı. Bakiye, stok, yayın durumu, onay: hepsi aynı desen. Alan sadece son hali bilir; kayıt geçmişi bilir.

İLGİLİ VAKA

Emlak Platformu

İlan, ajans yönetimi, abonelik ve moderasyon tek platformda. Dört rol, tek veri modeli.

DİĞER NOTLAR