Salta ai contenuti

Aggiornamento e database

Non importi mai lo schema a mano. bs_core ha le migrazioni in bs_core/sql/ (001_core_schema.sql … 048_backpack_refresh.sql) e l’elenco in bs_core/server/sv_migrations.lua. All’avvio esegue ogni file che non è ancora nella tabella bs_migrations e lo registra. Quelle già applicate non girano più.

Quindi un aggiornamento che porta una nuova tabella è solo: aggiorna i file, riavvia. La console stampa quale migrazione ha applicato.

Alcune resource (bs_config, bs_guard, bs_vip, progressione di bs_factions) creano anche le proprie tabelle all’avvio se mancano. È una rete di sicurezza, la migrazione resta la vera fonte.

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

Chiede la password e scrive un .sql con data e ora in database-backups/. Usa --single-transaction, non blocca né modifica il database in produzione.

Fallo ogni volta. Le migrazioni vanno solo avanti, non c’è “down”.

  1. Ferma il server.
  2. Fai il backup (sopra).
  3. Sostituisci le resource modificate. Tieni i tuoi file di config modificati, oppure confrontali con i nuovi. Le nuove chiavi in una config di solito servono al nuovo codice.
  4. Non toccare server.private.cfg. Controlla server.cfg.example per nuove righe ensure e aggiungile alle tue.
  5. Esegui tools\Test-Deployment.ps1.
  6. Avvia e controlla la console per righe rosse.

I tuoi profili F1 vivono nel database, sopravvivono agli aggiornamenti. Una chiave di profilo che non esiste più viene semplicemente ignorata.

Non copiare mai cache/ tra macchine o versioni, cancellala se qualcosa sembra strano dopo un aggiornamento.

Il pacchetto di release non contiene il database, di proposito. Fai il backup sul vecchio, poi sul nuovo crea un nuovo database vuoto e:

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

Non elimina mai un database e ti chiede di digitare prima IMPORT. Tieni il backup originale finché il nuovo server non ha funzionato bene per un po’.

Tratta quel file .sql come privato. Contiene ogni personaggio, inventario, banca di fazione e identificatore.

txadmin/recipe.yaml distribuisce la release più un nuovo database vuoto tramite il Server Deployer di txAdmin. È un mondo nuovo, niente del vecchio database viene portato. Vedi txadmin/README.md per la struttura dello zip.