如何确保数据库是最新的

时间:2019-03-21 14:00:45

标签: azerothcore

在安装/更新AzerothCore时,有时会遇到以下错误:

  

[错误]:在mysql_stmt_prepare()id:3,sql:

     

[错误]:“字段列表”中的未知列“条目”

     

[错误]:“字段列表”中的未知列“ dmg_multiplier”

这通常意味着数据库结构不是最新的。

更具体地说,本地数据库版本与本地核心版本不匹配。

这导致以下问题:

  • 如何检查数据库是否是最新的?
  • 如何了解每个数据库缺少哪些数据库SQL更新?

1 个答案:

答案 0 :(得分:3)

AzerothCore具有三个数据库: auth characters world 。为了启动服务器应用程序,所有这些文件都必须正确更新。

每个数据库都有一个表version_db_xxxx,该表在其最后一列的名称中保存有关数据库版本的信息。

  • auth DB具有version_db_auth
  • 字符数据库具有version_db_characters
  • 世界数据库具有version_db_world

数据库版本将以YYYY_MM_DD_XX的格式表示,基本上是一个日期,后跟一个数字(XX)。

此值将是此类表的最后一列的名称,并且与已应用于该数据库的最后一个SQL更新文件的名称相对应。

可以在azerothcore-wotlk/data/sql/updates/db_xxxx/目录(其中xxx是数据库名称)中找到SQL更新文件:

要确保数据库是最新的,应该对每个数据库进行比较:

  • version_db_xxxx表的最后一列名称
  • data/sql/updates/db_xxxx中包含的最新 sql文件名

(根据最近日期为最近。如果日期相同,则等待编号最高的文件为最新)

如果值相同,则说明数据库是最新的。否则,需要按顺序导入所有丢失的SQL更新文件来更新数据库。