schema / migration / 027-product-image-gallery

027 - Product image_url + gallery; events.image_url

  • Tanggal: 2026-08-20
  • DB: mpcdb
  • Ringkas: Product dapat foto utama + gallery (JSON URL array) seperti Court; sync events.image_url bila belum ada.

ALTER (jalankan di DB server)

ALTER TABLE products ADD COLUMN IF NOT EXISTS image_url text;
ALTER TABLE products ADD COLUMN IF NOT EXISTS gallery jsonb NOT NULL DEFAULT '[]'::jsonb;

ALTER TABLE events ADD COLUMN IF NOT EXISTS image_url text;

Rollback (opsional)

ALTER TABLE products DROP COLUMN IF EXISTS gallery;
ALTER TABLE products DROP COLUMN IF EXISTS image_url;
ALTER TABLE events DROP COLUMN IF EXISTS image_url;

Catatan

  • Admin upload ke Firebase Storage; DB hanya menyimpan URL publik.
  • mpc-be Product entity expose gallery (JSON); member apps tetap pakai image_url utama di sesi ini.
  • events.image_url sudah ada di GORM entity; ALTER idempotent jika kolom sudah ada.