CREATE TABLE `mdt_calendar_events` ( `id` int AUTO_INCREMENT NOT NULL, `title` varchar(255) NOT NULL, `description` text, `category` enum('dienst','schulung','meeting','event','sonstiges') NOT NULL DEFAULT 'sonstiges', `start_at` datetime NOT NULL, `end_at` datetime, `all_day` boolean NOT NULL DEFAULT false, `location` varchar(255), `open_signup` boolean NOT NULL DEFAULT true, `organizer_citizenid` varchar(50), `organizer_name` varchar(255), `created_at` timestamp NOT NULL DEFAULT (now()), `updated_at` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP, CONSTRAINT `mdt_calendar_events_id` PRIMARY KEY(`id`) ); --> statement-breakpoint CREATE TABLE `mdt_calendar_attendees` ( `id` int AUTO_INCREMENT NOT NULL, `event_id` int NOT NULL, `citizenid` varchar(50) NOT NULL, `name` varchar(255) NOT NULL, `status` enum('invited','accepted','declined','maybe') NOT NULL DEFAULT 'invited', `self` boolean NOT NULL DEFAULT false, CONSTRAINT `mdt_calendar_attendees_id` PRIMARY KEY(`id`), CONSTRAINT `attendee_event_citizen_idx` UNIQUE(`event_id`,`citizenid`) ); --> statement-breakpoint CREATE INDEX `event_start_idx` ON `mdt_calendar_events` (`start_at`);--> statement-breakpoint CREATE INDEX `attendee_event_idx` ON `mdt_calendar_attendees` (`event_id`);