This commit is contained in:
andre committed 2026-06-12 21:20:23 +01:00
1 parent e68d357177
commit 3e3382df57
65 files changed
+1836 -42

No files matched your search

@@ -0,0 +1,22 @@
-- ─── event_leads: consent + provenance + FK (D1) ────────────────────────────
-- event_leads captures PII from a public form. Under the GDPR we must record
-- demonstrable consent and minimise/retain responsibly. Add the consent flag,
-- the exact text the visitor agreed to, and request provenance (IP + UA) so a
-- submission can be evidenced. Also wire the missing FK to events so leads are
-- removed with their event (no orphans).
--
-- NB: filename sorts AFTER migration_20260612_events.sql (which creates the
-- table), so the runner applies them in the right order.
ALTER TABLE `event_leads`
ADD COLUMN IF NOT EXISTS `consent` TINYINT(1) NOT NULL DEFAULT 0 AFTER `message`,
ADD COLUMN IF NOT EXISTS `consent_text` VARCHAR(255) NOT NULL DEFAULT '' AFTER `consent`,
ADD COLUMN IF NOT EXISTS `ip` VARCHAR(45) NOT NULL DEFAULT '' AFTER `consent_text`,
ADD COLUMN IF NOT EXISTS `user_agent` VARCHAR(255) NOT NULL DEFAULT '' AFTER `ip`;
-- Referential integrity: delete leads when their event is hard-deleted.
-- (Has no IF NOT EXISTS in MariaDB; if re-running after a partial apply, drop
-- the constraint first.)
ALTER TABLE `event_leads`
ADD CONSTRAINT `fk_event_leads_event`
FOREIGN KEY (`e_id`) REFERENCES `events` (`e_id`) ON DELETE CASCADE;