İçeriğe geç

Güncelleme ve veritabanı

Şemayı asla elle içe aktarmazsın. bs_core migrasyonları bs_core/sql/ içinde (001_core_schema.sql … 048_backpack_refresh.sql), listeyi ise bs_core/server/sv_migrations.lua içinde tutar. Başlangıçta bs_migrations tablosunda henüz olmayan her dosyayı çalıştırır ve kaydeder. Uygulananlar bir daha çalışmaz.

Yani yeni bir tablo getiren güncelleme şu kadar: dosyaları güncelle, yeniden başlat. Konsol hangi migrasyonu uyguladığını yazar.

Bazı resource’lar (bs_config, bs_guard, bs_vip, bs_factions ilerlemesi) eksikse başlangıçta kendi tablolarını da oluşturur. Bu bir güvenlik ağı, asıl kaynak hâlâ migrasyon.

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

Şifreyi sorar ve database-backups/ içine zaman damgalı bir .sql yazar. --single-transaction kullanır, canlı veritabanını kilitlemez ya da değiştirmez.

Her seferinde yap. Migrasyonlar yalnızca ileri gider, “down” yok.

  1. Sunucuyu durdur.
  2. Yedek al (yukarıda).
  3. Değişen resource’ları değiştir. Düzenlediğin config dosyalarını koru ya da yenileriyle karşılaştır. Bir config’teki yeni anahtarlar genelde yeni kodun ihtiyacıdır.
  4. server.private.cfg dosyasına dokunma. Yeni ensure satırları için server.cfg.example dosyasına bak ve seninkine ekle.
  5. tools\Test-Deployment.ps1 çalıştır.
  6. Başlat ve konsolda kırmızı satırlara bak.

F1 profillerin veritabanında durur, güncellemelerden etkilenmez. Artık var olmayan bir profil anahtarı yok sayılır.

cache/ klasörünü asla makineler ya da sürümler arasında kopyalama, güncellemeden sonra garip bir şey olursa sil.

Release paketi veritabanını bilerek içermez. Eskisinde yedek al, yenisinde yeni bir boş veritabanı oluştur ve:

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

Hiçbir veritabanını silmez ve önce IMPORT yazmanı ister. Yeni sunucu bir süre sorunsuz çalışana kadar orijinal yedeği sakla.

O .sql dosyasını gizli say. Her karakter, envanter, grup bankası ve kimlik bilgisi içinde.

txadmin/recipe.yaml, release’i ve yeni boş bir veritabanını txAdmin’in Server Deployer’ı ile kurar. Bu yeni bir dünya, eski veritabanından hiçbir şey gelmez. Zip düzeni için txadmin/README.md dosyasına bak.