update.sh: In-Place-Update statt Fresh-Install, wenn sich das DB-Schema nicht geändert hat
Neue Datei SCHEMA_VERSION (neben VERSION) markiert den DB-Schema-Stand. update.sh laedt/entpackt das Release-Paket jetzt VOR der Bestaetigungs- abfrage und vergleicht die SCHEMA_VERSION der bestehenden Installation mit der des neuen Pakets: - Stimmen beide ueberein (und existiert bereits eine sqlite.db) -- In-Place-Update: /srv/tesm bleibt bestehen, install.sh rsynct nur den neuen Code darueber (sqlite.db/fernet.key/secret.key waren dort schon immer von rsync ausgeschlossen). Geraete/Switche/Zugangsdaten/Benutzer/ Einstellungen bleiben vollstaendig erhalten, kein manuelles Neuanlegen oder Re-Import noetig. - Unterscheiden sie sich (oder ist eine der beiden Versionen unbekannt, z.B. eine Installation von vor dieser Aenderung) -- weiterhin der bisherige sichere Weg: /srv/tesm wird beiseite verschoben (nicht geloescht) und komplett frisch installiert. /srv/poe_manager (voellig andere App/Schema) wird davon unabhaengig immer beiseite verschoben, nie in-place uebernommen. create_db.py bekommt einen Hinweis-Kommentar, SCHEMA_VERSION bei jeder Schema-Aenderung mit hochzuzaehlen.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
1
|
||||
Reference in New Issue
Block a user