Как убедиться в актуальности БД - PullRequest
3 голосов
/ 21 марта 2019

При установке / обновлении AzerothCore иногда встречаются такие ошибки, как:

[ОШИБКА]: в mysql_stmt_prepare () id: 3, sql:

[ОШИБКА]: Неизвестный столбец «запись» в «списке полей»

[ОШИБКА]: неизвестный столбец «dmg_multiplier» в «списке полей»

обычно это означает, что структура базы данных не обновлена.

Точнее говоря, версия локальной БД не совпадает с версией локального ядра.

Это приводит к следующим вопросам:

  • Как проверить, обновлена ​​ли БД или нет?
  • Как понять, какие обновления БД SQL отсутствуют для каждой БД?

1 Ответ

3 голосов
/ 21 марта 2019

AzerothCore имеет три базы данных: auth , символов и world .Все они должны быть должным образом обновлены, чтобы запустить серверное приложение.

Каждая база данных имеет таблицу version_db_xxxx, в которой содержится информация о версии базы данных внутри имени ее последнего столбца .

  • auth DB имеет таблицу version_db_auth
  • символов DB имеет таблицу version_db_characters table
  • world DB имеет таблицу version_db_world

Версия базы данных будет выражена в формате YYYY_MM_DD_XX, который в основном представляет собой дату, за которой следует число (XX).

Это значение будет именем последнего столбцатаких таблиц и соответствует имени последнего файла обновления SQL, который был применен к этой базе данных.

Файлы обновления SQL можно найти в каталоге azerothcore-wotlk/data/sql/updates/db_xxxx/ (где xxx - имя базы данных):

Чтобы убедиться, что база данных обновлена, необходимо сравнить (для каждой базы данных):

  • последний столбецe version_db_xxxx таблицы
  • самое последнее имя файла sql, содержащееся в data/sql/updates/db_xxxx

( самое последнее в терминахсамой последней даты.Если дата совпадает, файл с наибольшим ожидающим номером является самым последним)

Если значения совпадают, значит, база данных обновлена.В противном случае необходимо обновить БД, импортировав все отсутствующие файлы обновления SQL по порядку.

...