Zum Inhalt springen

Datenbankmigrationen

SQL importierst du nie von Hand. bs_core legt das Schema beim Start selbst an und aktualisiert es.

  • Die Migrationsdateien liegen in bs_core/sql/, nummeriert (derzeit 001_core_schema.sql bis 035_faction_jobs.sql).
  • Beim Start führt bs_core der Reihe nach jede Datei seiner Liste aus, die noch nicht verzeichnet ist, und trägt sie mit einer Prüfsumme in die Tabelle bs_migrations ein. Eine Datei läuft nie zweimal.
  • Die Konsole gibt aus, was bei diesem Start angewendet wurde.
  • Ein paar Resources legen ihre eigenen kleinen Tabellen beim Start mit CREATE TABLE IF NOT EXISTS an (zum Beispiel bs_tester und bs_config). Auch dafür gibt es nichts zu tun.
DateiFügt hinzu
029_vehicle_world.sqlWeltfahrzeuge, fehlende Teile
030_user_language.sqlbs_users.language
031_building.sqlbs_build_pieces, bs_build_bases, verschiebt alte Strukturen zu Fraktionen
032_crafting.sqlStationswarteschlangen, Fallen, Offline-Erstattungen, Recycler-Punkte
033_medical.sqlbs_character_medical: Verletzungen, Infektion, Krankheit, Blut
034_base_flags.sqlSafezone- und Außenposten-Flaggen, angesagte Raids
035_faction_jobs.sqlJob-Mitglieder, das Brett, Punktestände, Job-Wahlen, Werkstattarbeit
045_darkzone.sqlDark Zone (1.1.0)
046_building_v2.sqlBauen v2: Strom, Generatoren, Flaggen (1.1.0)
047_faction_emblems.sqlFraktionsembleme (1.1.0)
048_backpack_refresh.sqlRucksack-Items umbenannt, Inhalt bleibt (1.1.0)
  1. Nimm die nächste Nummer: bs_core/sql/036_my_change.sql.
  2. Schreib sie so, dass sie auf einer Datenbank mit vorhandenen Daten sicher ist. Füge Spalten mit Standardwerten hinzu, lösche nichts, was Leute noch benutzen.
  3. Trag den Dateinamen in die Liste in bs_core/server/sv_migrations.lua ein (M.files). Die Liste ist fest im Code. Eine Datei, die nicht darin steht, läuft stillschweigend nie.
  4. Starte den Server neu (nur bs_core neu zu starten wirft alle raus).

Sichere vor einem Update, das Migrationen mitbringt. Unter Windows:

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

Siehe Aktualisieren & Datenbank für Wiederherstellung und das Verschieben von Charakteren zwischen Servern.