Repository navigation
migrationen
Datenbank-Migrationen.
Zurzeit wird fallbackToDestructiveMigration() in AppDatabase verwendet. Keine manuellen SQL-Migrationen (Migration(1, 2)) vorhanden.
Die Träwelling-Anpassung ändert die JSON-Modelle, aber nicht die Room-Tabelle feed_statuses oder deren Datenbankversion. statusJson bleibt ein Gson-serialisierter Status.
Alte Cache-Einträge ohne verschachteltes station-Objekt können ihren früheren Halt-Namen weiterhin anzeigen. Sie liefern jedoch keine stationId aus dem alten Stopover-id: Dieses Feld wird serverseitig umgewidmet und ist keine sichere Stationsreferenz. Aktuelle Stationsdaten werden bei der nächsten erfolgreichen API-Aktualisierung neu geladen.
Room wird von Version 1 auf 2 angehoben. StatusEntity verwendet nun (id, type) als Primärschlüssel; type trennt Feedart und einen Digest der Server-/Tokenzuordnung. Ein Status kann damit gleichzeitig in mehreren Feedpartitionen liegen. Es gibt keine SQL-Migration: fallbackToDestructiveMigration() verwirft den alten Feedcache, der bei der nächsten erfolgreichen Antwort neu entsteht. DataStore-Einstellungen und der aktive Fahrtcache werden durch diesen Room-Versionswechsel nicht migriert oder gelöscht. Details: Schemas und Feed.
Die SEV-Ergänzung ändert keine Room-Tabelle und keine Datenbankversion. Im vorhandenen Version-1-DataStore-JSON sind fullStopovers und sevMaps neu und optional. Der Service liest alte Einträge mit der vorhandenen Haltfolge als Richtungskontext und einer leeren SEV-Quelle. Neue Einträge bewahren öffentliche Karten samt Abrufzeit; Alter, Maßnahme und Richtung werden nach Wiederanlauf neu geprüft. Eine SQL-Migration oder neue Preference ist dafür nicht erforderlich.
Die zusätzliche Bahn-/Tram-Geometrie bleibt RAM-Zustand und verlangt kein neues Room-/DataStore-Feld. Das aktive Fahrtcache-JSON bleibt Version 1, Room bleibt Version 2. Auch das Bibliotheksupdate ist kein Grund, eine andere Schemaänderung zu erfinden; die bestehenden Feedcache-Upgraderegeln gelten weiter. Der vorhandene Fahrtcache liefert nur die Haltbasis für erneutes Geometrieladen. Details: GPS-Zeiten und Build.