database
Catatan teknis seputar web development, DevOps, dan integrasi AI.
2 artikel
- 07.57database
Ganti Kosakata Status Tanpa Sekali Jalan: ENUM Tiga Langkah
Enam status baru, empat status lama. MODIFY + UPDATE + MODIFY bikin kosakata status ganti tanpa copy tabel dan tanpa baris invalid di tengah jalan.
TL;DR: Spec butuh enam status baru tapi DB masih pakai empat status Inggris lama jadi nggak bisa asal ganti kolom. MySQL cuma boleh nambah ENUM di akhir biar in-place, kalau diselip di tengah malah copy tabel dan data bisa geser. Makanya migrasinya dibikin tiga step expand-migrate-contract, down-nya lossy dan relasi sengaja nggak pakai foreign key biar soft delete aman.
#mysql#migration#schema - 09.00backend
Pindah Kategori Antar-Modul: Dua Tempat yang Diubah Sekalian
Satu UPDATE terdengar selesai. Nyatanya, mapping importer harus ikut berubah, atau data lama akan bangkit kembali di import berikutnya.
TL;DR: Gw kira mindahin kategori oleh-oleh Depok cuma butuh query UPDATE doang, ternyata bahaya kalo kodenya nggak diubah juga. Jadi gw bikin migrasi idempoten pake WHERE guard plus update moduleMap di importer go dalam satu commit biar nggak balik lagi. Soalnya DDL MySQL nggak bisa diandalkan pake transaksi, jadi guard ini yang jaga aman.
#mysql#database-migration#golang