Zum Inhalt springen

Aktualisieren und Datenbank

Du importierst das Schema nie von Hand. bs_core hat die Migrationen in bs_core/sql/ (001_core_schema.sql … 048_backpack_refresh.sql) und die Liste in bs_core/server/sv_migrations.lua. Beim Start führt es jede Datei aus, die noch nicht in der Tabelle bs_migrations steht, und trägt sie ein. Bereits angewendete laufen nie wieder.

Ein Update mit einer neuen Tabelle heißt also nur: Dateien aktualisieren, neu starten. Die Konsole zeigt, welche Migration angewendet wurde.

Einige Resources (bs_config, bs_guard, bs_vip, bs_factions-Progression) legen beim Start außerdem ihre eigenen Tabellen an, falls sie fehlen. Das ist ein Sicherheitsnetz, die Migration bleibt die eigentliche Quelle.

Terminal-Fenster
powershell -ExecutionPolicy Bypass -File .\tools\Backup-Database.ps1 -Database beyondsurvival -User beyond

Es fragt nach dem Passwort und schreibt eine .sql mit Zeitstempel nach database-backups/. Es nutzt --single-transaction, sperrt oder ändert die Live-Datenbank nicht.

Mach es jedes Mal. Migrationen gehen nur vorwärts, es gibt kein “down”.

  1. Server stoppen.
  2. Backup (oben).
  3. Geänderte Resources ersetzen. Behalte deine bearbeiteten Config-Dateien oder vergleiche sie mit den neuen. Neue Schlüssel in einer Config braucht meist der neue Code.
  4. Fass server.private.cfg nicht an. Prüfe server.cfg.example auf neue ensure-Zeilen und übernimm sie in deine.
  5. tools\Test-Deployment.ps1 ausführen.
  6. Starten und die Konsole auf rote Zeilen beobachten.

Deine F1-Profile liegen in der Datenbank und überleben Updates. Ein Profilschlüssel, den es nicht mehr gibt, wird einfach ignoriert.

Kopiere cache/ nie zwischen Rechnern oder Versionen, lösche es, wenn nach einem Update etwas komisch aussieht.

Das Release-Paket enthält die Datenbank absichtlich nicht. Mach auf dem alten ein Backup, lege auf dem neuen eine neue leere Datenbank an und dann:

Terminal-Fenster
powershell -ExecutionPolicy Bypass -File .\tools\Import-Database.ps1 -Database beyondsurvival -User beyond -BackupFile D:\transfer\beyondsurvival-YYYYMMDD-HHMMSS.sql

Es löscht nie eine Datenbank und verlangt, dass du zuerst IMPORT eintippst. Behalte das ursprüngliche Backup, bis der neue Server eine Weile gut gelaufen ist.

Behandle diese .sql-Datei als privat. Sie enthält jeden Charakter, jedes Inventar, jede Fraktionsbank und alle Identifier.

txadmin/recipe.yaml spielt über den Server Deployer von txAdmin das Release plus eine neue leere Datenbank ein. Es ist eine neue Welt, aus der alten Datenbank kommt nichts mit. Siehe txadmin/README.md für das Zip-Layout.