Fehler #48
geschlossenDoppelter Versionssuffix im Dateinamen bei Datenbankmigration
100%
Beschreibung
Bei der Migration einer Datenbank kann der Dateiname der Zieldatei einen doppelten Versionssuffix bekommen, z. B.:
ErControl1.sqlite.3.0.1.0_1.3.0.2.0.db
ErControl1.sqlite.3.0.1.0_1.3.0.3.0.db
Ursache: Wenn beim Anlegen der Zieldatei ein Namenskonflikt auftritt, hängt GetUniqueFilename in MigrationService.cs zur Unterscheidung ein "_N" an den Versionssuffix an (z. B. "...3.0.1.0_1.db"). Wird eine solche Datei später erneut migriert, erkennt StripVersionSuffix diesen alten Suffix samt "_N" nicht mehr als Versionssuffix und entfernt ihn nicht - der neue Versionssuffix wird einfach angehängt statt den alten zu ersetzen.
Fix: Regulärer Ausdruck in StripVersionSuffix erweitert, sodass ein optionaler "_N"-Kollisionssuffix mit erkannt und beim erneuten Migrieren korrekt entfernt wird.
Bereits vorhandene Dateien mit doppeltem Suffix müssen manuell bereinigt werden (umbenennen oder löschen), der Fix wirkt nur auf künftige Migrationen.
Zugehörige Tickets 1 (0 offen — 1 geschlossen)