45 lines
2.4 KiB
SQL
45 lines
2.4 KiB
SQL
-- ─── Events / time-limited landing pages ────────────────────────────────────
|
|
-- Backoffice-managed temporary events (promotions, special classes, challenges).
|
|
-- Each row drives a banner on the homepage and a branded landing page at
|
|
-- /evento/<slug>, visible only while NOW() is inside [publish_from, publish_until]
|
|
-- and is_active = 1. Soft-deleted via deleted_at (mirrors the modalidades module).
|
|
|
|
CREATE TABLE IF NOT EXISTS `events` (
|
|
`e_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`deleted_at` DATETIME DEFAULT NULL,
|
|
`slug` VARCHAR(160) NOT NULL,
|
|
`title` VARCHAR(180) NOT NULL,
|
|
`subtitle` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`summary` VARCHAR(400) NOT NULL DEFAULT '',
|
|
`description` TEXT DEFAULT NULL,
|
|
`hero_image` VARCHAR(160) NOT NULL DEFAULT '',
|
|
`cor` VARCHAR(50) NOT NULL DEFAULT '#C2D500',
|
|
`location` VARCHAR(200) NOT NULL DEFAULT '',
|
|
`event_starts_at` DATETIME DEFAULT NULL,
|
|
`event_ends_at` DATETIME DEFAULT NULL,
|
|
`publish_from` DATETIME NOT NULL,
|
|
`publish_until` DATETIME NOT NULL,
|
|
`is_active` TINYINT(1) NOT NULL DEFAULT 1,
|
|
`cta_label` VARCHAR(80) NOT NULL DEFAULT '',
|
|
`cta_url` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`show_lead_form` TINYINT(1) NOT NULL DEFAULT 1,
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`e_id`),
|
|
UNIQUE KEY `uq_events_slug` (`slug`),
|
|
KEY `idx_events_window` (`is_active`, `publish_from`, `publish_until`, `deleted_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Lead/registration submissions captured on each event landing page.
|
|
CREATE TABLE IF NOT EXISTS `event_leads` (
|
|
`lead_id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`e_id` INT(11) NOT NULL,
|
|
`name` VARCHAR(150) NOT NULL,
|
|
`email` VARCHAR(190) NOT NULL DEFAULT '',
|
|
`phone` VARCHAR(40) NOT NULL DEFAULT '',
|
|
`message` VARCHAR(1000) NOT NULL DEFAULT '',
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`lead_id`),
|
|
KEY `idx_event_leads_event` (`e_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|