diff --git a/backend/migrations/20260722_add_member_user_link.sql b/backend/migrations/20260722_add_member_user_link.sql index d814ab34..9e27e28d 100644 --- a/backend/migrations/20260722_add_member_user_link.sql +++ b/backend/migrations/20260722_add_member_user_link.sql @@ -1,4 +1,4 @@ -ALTER TABLE member - ADD COLUMN user_id INT NULL, - ADD UNIQUE KEY member_user_id_unique (user_id), - ADD CONSTRAINT member_user_id_fk FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE SET NULL; +ALTER TABLE `member` + ADD COLUMN `user_id` INT NULL, + ADD UNIQUE KEY `member_user_id_unique` (`user_id`), + ADD CONSTRAINT `member_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE SET NULL; diff --git a/backend/migrations/20260724_align_calendar_events_schema.sql b/backend/migrations/20260724_align_calendar_events_schema.sql new file mode 100644 index 00000000..b7e9232a --- /dev/null +++ b/backend/migrations/20260724_align_calendar_events_schema.sql @@ -0,0 +1,11 @@ +-- Ergänzt eine bereits vorhandene ältere calendar_events-Tabelle um die +-- Felder des aktuellen Kalender-Modells. Bestehende Termine bleiben erhalten. +ALTER TABLE `calendar_events` + ADD COLUMN IF NOT EXISTS `event_type` VARCHAR(32) NOT NULL DEFAULT 'club_event' AFTER `club_id`, + ADD COLUMN IF NOT EXISTS `status` VARCHAR(32) NOT NULL DEFAULT 'planning' AFTER `event_type`, + ADD COLUMN IF NOT EXISTS `description` TEXT NULL AFTER `title`, + ADD COLUMN IF NOT EXISTS `location` VARCHAR(255) NULL AFTER `description`, + ADD COLUMN IF NOT EXISTS `registration_deadline` DATE NULL AFTER `end_date`, + ADD COLUMN IF NOT EXISTS `organizer_user_id` INT NULL AFTER `registration_deadline`, + ADD COLUMN IF NOT EXISTS `category` VARCHAR(64) NULL AFTER `organizer_user_id`, + ADD COLUMN IF NOT EXISTS `notes` TEXT NULL AFTER `category`; diff --git a/docs/manual_sql_migrations.md b/docs/manual_sql_migrations.md index 88b80dc9..78657794 100755 --- a/docs/manual_sql_migrations.md +++ b/docs/manual_sql_migrations.md @@ -24,10 +24,10 @@ Sichere optionale Zuordnung eines Login-Kontos zu einem Vereinsmitglied für persönliche Mitgliederfunktionen: ```sql -ALTER TABLE member - ADD COLUMN user_id INT NULL, - ADD UNIQUE KEY member_user_id_unique (user_id), - ADD CONSTRAINT member_user_id_fk FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE SET NULL; +ALTER TABLE `member` + ADD COLUMN `user_id` INT NULL, + ADD UNIQUE KEY `member_user_id_unique` (`user_id`), + ADD CONSTRAINT `member_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE SET NULL; ``` Bestehende Mitglieder bleiben zunächst unverknüpft. Die Zuordnung erfolgt @@ -98,6 +98,24 @@ ALTER TABLE club_communication_recipients ADD INDEX club_communication_recipients_member_read (club_id, member_id, read_at); ``` +### Bestehende `calendar_events`-Tabelle an das aktuelle Modell anpassen + +Wenn die Tabelle vor der Kalendererweiterung angelegt wurde, fehlen die neuen +Metadaten-Spalten. Die Migration ist additiv und lässt bestehende Termine +unverändert: + +```sql +ALTER TABLE `calendar_events` + ADD COLUMN IF NOT EXISTS `event_type` VARCHAR(32) NOT NULL DEFAULT 'club_event' AFTER `club_id`, + ADD COLUMN IF NOT EXISTS `status` VARCHAR(32) NOT NULL DEFAULT 'planning' AFTER `event_type`, + ADD COLUMN IF NOT EXISTS `description` TEXT NULL AFTER `title`, + ADD COLUMN IF NOT EXISTS `location` VARCHAR(255) NULL AFTER `description`, + ADD COLUMN IF NOT EXISTS `registration_deadline` DATE NULL AFTER `end_date`, + ADD COLUMN IF NOT EXISTS `organizer_user_id` INT NULL AFTER `registration_deadline`, + ADD COLUMN IF NOT EXISTS `category` VARCHAR(64) NULL AFTER `organizer_user_id`, + ADD COLUMN IF NOT EXISTS `notes` TEXT NULL AFTER `category`; +``` + ## 2026-03-17 ### `predefined_activities.exclude_from_stats` diff --git a/frontend/src/components/schedule/ScheduleLayoutShell.vue b/frontend/src/components/schedule/ScheduleLayoutShell.vue index 38b27ff3..4978f8fa 100755 --- a/frontend/src/components/schedule/ScheduleLayoutShell.vue +++ b/frontend/src/components/schedule/ScheduleLayoutShell.vue @@ -41,15 +41,15 @@
{{ $t('schedule.matches') }} - {{ matchesCount }} + {{ scheduleSummary.total }}
{{ $t('schedule.completedShort') }} - {{ completedMatchesCount }} + {{ scheduleSummary.completed }}
{{ $t('schedule.pendingShort') }} - {{ pendingMatchesCount }} + {{ scheduleSummary.pending }}
{{ $t('schedule.nextMatch') }} @@ -144,7 +144,7 @@