postgresql
Catatan teknis seputar web development, DevOps, dan integrasi AI.
11 artikel
- 09.34backend
Loncat Status, Email Ganda, dan Batas Transaksi
Satu tiket loncat dua status, warga dapat email dobel: akarnya dual-write. Perbaikannya peta transisi, 409, riwayat, dan outbox.
TL;DR: Awalnya tiket komplain bisa loncat status dan ngirim dobel email gara-gara dual-write bug. Ternyata ngirim email langsung di dalam transaksi itu rawan ghost email kalo rollback atau crash. Akhirnya dibenerin pake peta transisi yang nolak pake 409, riwayat append-only satu transaksi, dan outbox biar email kekirim eventual lewat worker.
#postgresql#http#outbox - 12.19backend
Field Turunan Saya Basi Lagi, Tiga Hari Setelah Di-Backfill
Commit backfill next_review basi lagi tiga hari kemudian. Solusinya: field turunan dihitung saat dibaca, nilai manual tetap dipertahankan.
TL;DR: Gue ngabisin waktu backfill manual field next_review, eh besoknya datanya basi cuma gara-gara satu berkas baru. Ternyata itu field turunan yang bisa dihitung sendiri dari last_updated plus 90 hari, jadi mending derive pas dibaca, gak perlu disimpen. SQLite sama PostgreSQL aja udah setuju lewat generated column dan view; nyimpen cuma worth it kalau ada override manual atau bacaannya berat banget.
#python#sqlite#postgresql