Saltearse al contenido

Migraciones de la base de datos

Nunca importas SQL a mano. bs_core crea y actualiza el esquema por sí mismo al arrancar.

  • Los archivos de migración están en bs_core/sql/, numerados (ahora de 001_core_schema.sql a 035_faction_jobs.sql).
  • Al arrancar, bs_core ejecuta en orden cada archivo de su lista que aún no esté registrado y lo anota en la tabla bs_migrations con un checksum. Un archivo nunca se ejecuta dos veces.
  • La consola imprime lo que aplicó en ese arranque.
  • Algunos resources crean sus propias tablas pequeñas con CREATE TABLE IF NOT EXISTS al arrancar (por ejemplo bs_tester y bs_config). Tampoco hay nada que hacer con esos.
ArchivoAñade
029_vehicle_world.sqlVehículos de mundo, piezas que faltan
030_user_language.sqlbs_users.language
031_building.sqlbs_build_pieces, bs_build_bases, mueve las estructuras antiguas a facciones
032_crafting.sqlColas de estaciones, trampas, reembolsos offline, puntos de recycler
033_medical.sqlbs_character_medical: heridas, infección, enfermedad, sangre
034_base_flags.sqlBanderas de zona segura y de puesto avanzado, raids declarados
035_faction_jobs.sqlMiembros de trabajos, el tablón, puntuaciones, elecciones de trabajo, trabajo de taller
045_darkzone.sqlDark Zone (1.1.0)
046_building_v2.sqlConstrucción v2: energía, generadores, banderas (1.1.0)
047_faction_emblems.sqlEmblemas de facción (1.1.0)
048_backpack_refresh.sqlObjetos de mochila renombrados, se conserva el contenido (1.1.0)
  1. Crea el siguiente número: bs_core/sql/036_my_change.sql.
  2. Escríbela para que sea segura en una base de datos que ya tiene datos. Añade columnas con valores por defecto, no elimines cosas que la gente aún usa.
  3. Añade el nombre del archivo a la lista de bs_core/server/sv_migrations.lua (M.files). La lista está fija en el código. Un archivo que no esté en ella nunca se ejecuta, sin avisar.
  4. Reinicia el servidor (reiniciar solo bs_core echa a todos).

Antes de una actualización que añada migraciones, haz una copia de seguridad. En Windows:

Ventana de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Backup-Database.ps1

Mira Actualizar y base de datos para restaurar y mover personajes entre servidores.