-- =============================================================================
-- MIGRATION: Per-merchant image storage quota
-- Convention: Prisma maps createdAt→createdOn, updatedAt→updatedOn in DB
-- Run: idempotent — safe to re-execute
-- =============================================================================

BEGIN;

ALTER TABLE products.product_images
  ADD COLUMN IF NOT EXISTS "sizeBytes" INTEGER NOT NULL DEFAULT 0,
  ADD COLUMN IF NOT EXISTS "storageKey" TEXT,
  ADD COLUMN IF NOT EXISTS "trashedAt" TIMESTAMP(3);

CREATE INDEX IF NOT EXISTS "product_images_trashedAt_idx" ON products.product_images ("trashedAt");

ALTER TABLE platform.organizations
  ADD COLUMN IF NOT EXISTS "storageCapBytes" BIGINT;

COMMIT;
