İçeriğe geç

Veritabanı migrasyonları

SQL’i asla elle içe aktarmazsın. bs_core şemayı açılışta kendisi oluşturur ve yükseltir.

  • Migrasyon dosyaları bs_core/sql/ içindedir, numaralıdır (şu an 001_core_schema.sql ile 035_faction_jobs.sql arası).
  • Başlangıçta bs_core, listesindeki henüz kaydedilmemiş her dosyayı sırayla çalıştırır ve bir checksum ile bs_migrations tablosuna kaydeder. Bir dosya asla iki kez çalışmaz.
  • Konsol o açılışta neyi uyguladığını yazdırır.
  • Birkaç resource açılışta CREATE TABLE IF NOT EXISTS ile kendi küçük tablolarını oluşturur (örneğin bs_tester ve bs_config). Onlar için de yapılacak bir şey yok.
DosyaEkler
029_vehicle_world.sqlDünya araçları, eksik parçalar
030_user_language.sqlbs_users.language
031_building.sqlbs_build_pieces, bs_build_bases, eski yapıları fraksiyonlara taşır
032_crafting.sqlİstasyon kuyrukları, tuzaklar, çevrimdışı iadeler, recycler noktaları
033_medical.sqlbs_character_medical: yaralar, enfeksiyon, hastalık, kan
034_base_flags.sqlGüvenli bölge ve karakol bayrakları, ilan edilen raidler
035_faction_jobs.sqlİş üyeleri, pano, skorlar, iş seçimleri, garaj işi
045_darkzone.sqlDark Zone (1.1.0)
046_building_v2.sqlİnşa v2: elektrik, jeneratörler, bayraklar (1.1.0)
047_faction_emblems.sqlFraksiyon amblemleri (1.1.0)
048_backpack_refresh.sqlSırt çantası eşyaları yeniden adlandırıldı, içerik korunur (1.1.0)
  1. Sıradaki numarayı ver: bs_core/sql/036_my_change.sql.
  2. Zaten verisi olan bir veritabanında güvenli olacak şekilde yaz. Sütunları varsayılan değerlerle ekle, insanların hâlâ kullandığı şeyleri silme.
  3. Dosya adını bs_core/server/sv_migrations.lua içindeki listeye ekle (M.files). Liste koda sabitlenmiştir. Listede olmayan bir dosya sessizce asla çalışmaz.
  4. Sunucuyu yeniden başlat (yalnızca bs_coreu yeniden başlatmak herkesi atar).

Migrasyon getiren bir güncellemeden önce yedek al. Windows’ta:

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

Geri yükleme ve karakterleri sunucular arasında taşıma için Güncelleme ve veritabanı sayfasına bak.