diff --git a/backend/migrations/20260922_add_match_player_cancellations.sql b/backend/migrations/20260922_add_match_player_cancellations.sql new file mode 100644 index 00000000..83e254b4 --- /dev/null +++ b/backend/migrations/20260922_add_match_player_cancellations.sql @@ -0,0 +1,3 @@ +-- Speichert Absagen für Spieler eines Punktspiels. +ALTER TABLE `match` + ADD COLUMN `players_cancelled` JSON NULL AFTER `players_played`; diff --git a/docs/manual_sql_migrations.md b/docs/manual_sql_migrations.md index 096fe255..d71d32ae 100755 --- a/docs/manual_sql_migrations.md +++ b/docs/manual_sql_migrations.md @@ -22,6 +22,34 @@ Ergaenzend: - Manuelle Migrationsschritte gehoeren in diese Datei, nicht nur in Chat-Verlaeufe oder Commit-Messages. - Wenn eine Aenderung rueckwaertskompatibel ist, soll das hier explizit vermerkt werden. +## 2026-09-22 + +### `match.players_cancelled` + +Speichert die Spielabsagen als Liste von Mitglieder-IDs. Die Anwendung schließt +eine Absage gegenläufig zu „Will spielen“, Einsatzplanung und „Gespielt“ aus. + +```sql +ALTER TABLE `match` + ADD COLUMN `players_cancelled` JSON NULL AFTER `players_played`; +``` + +Die Änderung ist additiv und rückwärtskompatibel: Bestehende Spiele haben +zunächst keine gespeicherten Absagen. + +### `member.deactivated_at` und `diary_dates.non_deactivated_member_count` + +```sql +ALTER TABLE `member` + ADD COLUMN `deactivated_at` DATETIME NULL; + +ALTER TABLE `diary_dates` + ADD COLUMN `non_deactivated_member_count` INT NULL; +``` + +Die neuen Felder werden nur für neue Deaktivierungen bzw. neu angelegte +Trainingstage befüllt. Historische Werte werden bewusst nicht geschätzt. + ## 2026-07-22 ### `member.user_id` diff --git a/frontend/src/views/ScheduleView.vue b/frontend/src/views/ScheduleView.vue index 840a2206..4ae0c1d5 100755 --- a/frontend/src/views/ScheduleView.vue +++ b/frontend/src/views/ScheduleView.vue @@ -364,7 +364,7 @@ v-model="playerSelectionDialog.isOpen" :title="`${$t('schedule.playerSelection')} - ${playerSelectionDialog.match?.homeTeam?.name || ''} ${$t('schedule.vs')} ${playerSelectionDialog.match?.guestTeam?.name || ''}`" @close="closePlayerSelectionDialog" - :max-width="800" + :max-width="850" >