022 - Index for Tip lookups on transaction_items.reference_id
- Tanggal: 2026-08-13
- DB: mpcdb
- Ringkas: Tambah index pada
transaction_items.reference_id untuk mempercepat lookup "apakah order ini sudah pernah di-tip" (fitur Tip di booking history). Tidak ada kolom/tabel baru — Tip disimpan sebagai Transaction biasa (transaction_type='Tip') dengan satu TransactionItem (item_type='Fee', reference_id = id order yang di-tip).
ALTER (jalankan di DB server)
-- Idempotent; safe to re-run.
CREATE INDEX IF NOT EXISTS idx_transaction_items_reference_id
ON transaction_items(reference_id);
Rollback (opsional)
DROP INDEX IF EXISTS idx_transaction_items_reference_id;
Catatan
- Tidak ada perubahan kontrak data (tidak ada kolom baru) —
mpc-admin, mpc-be-pos tidak terdampak.
- "Sudah pernah tip?" dihitung on-the-fly: ada
transaction_items dengan item_type='Fee' dan reference_id = <order_id> yang transactions induknya transaction_type='Tip' dan status='Completed'.
- Response
Transaction.tip_amount (response-only, tidak persisted) dihitung dari query ini di GET /transactions/customer/:id dan GET /transactions/:id.