hyapp-server/server/admin/migrations/107_activity_template_banner_targets.sql
2026-07-20 13:28:13 +08:00

16 lines
798 B
SQL

-- Banner keeps its historical h5 payload for App compatibility while these
-- columns retain the owning template relation for validation and lifecycle cleanup.
ALTER TABLE admin_app_banners
ADD COLUMN target_type VARCHAR(32) NOT NULL DEFAULT '' AFTER banner_type,
ADD COLUMN activity_template_id VARCHAR(64) NOT NULL DEFAULT '' AFTER target_type,
ADD COLUMN activity_template_code VARCHAR(64) NOT NULL DEFAULT '' AFTER activity_template_id;
UPDATE admin_app_banners
SET target_type = banner_type
WHERE target_type = '';
-- Template disable/archive uses this bounded equality lookup; app_code first
-- preserves tenant isolation and prevents a full banner scan.
CREATE INDEX idx_admin_app_banner_activity_target
ON admin_app_banners (app_code, target_type, activity_template_id, status);