Make V010 migration idempotent: wrap verein.name to verein_name column rename in a conditional DO block to avoid errors on existing schema. Update changelog.

This commit is contained in:
Stefan Mogeritsch 2026-04-06 14:25:16 +02:00
parent 9223305613
commit e219116609
2 changed files with 7 additions and 1 deletions

View File

@ -18,6 +18,7 @@ Versionierung folgt [Semantic Versioning](https://semver.org/lang/de/).
### Hinzugefügt
- **Core:** Modularisierte ZNS-Parser eingeführt (`ZnsVereinParser`, `ZnsReiterParser`, `ZnsPferdParser`, `ZnsFunktionaerParser`) zur Verbesserung der Wartbarkeit und Unterstützung von Einzelimporten.
- **Fix:** SQL-Migrationsfehler in `V010` behoben, indem die Umbenennung der Spalte `name` in `verein_name` durch einen idempotenten `DO`-Block abgesichert wurde (behebt "Unable to resolve column 'name'").
- **Infrastructure:** Datenbank-Migration `V010` hinzugefügt, um das Schema final mit den `Exposed`-Modellen zu synchronisieren.
- **Infrastructure:** Datei-Archivierung für hochgeladene ZNS-ZIP-Dateien im `ZnsImportOrchestrator` implementiert.
- **Infrastructure:** `ZnsImportService` vollständig auf die neuen spezialisierten Parser umgestellt und als Spring-Bean im Backend registriert.

View File

@ -2,7 +2,12 @@
-- Harmonisiert die Spaltennamen und Typen mit den aktuellen Kotlin-Definitionen.
-- 1. Tabelle VEREIN anpassen
ALTER TABLE verein RENAME COLUMN name TO verein_name;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='verein' AND column_name='name') THEN
EXECUTE 'ALTER TABLE verein RENAME COLUMN "name" TO verein_name';
END IF;
END $$;
ALTER TABLE verein DROP COLUMN IF EXISTS kurzname;
ALTER TABLE verein DROP COLUMN IF EXISTS oeps_region_nummer;
ALTER TABLE verein ADD COLUMN IF NOT EXISTS person_id UUID;