Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何通过对代码(脚本)、模块和数据库(添加任务、供应商、项目)的自定义正确更新Docker Azerothcore_Mysql_Docker_Azerothcore - Fatal编程技术网

Mysql 如何通过对代码(脚本)、模块和数据库(添加任务、供应商、项目)的自定义正确更新Docker Azerothcore

Mysql 如何通过对代码(脚本)、模块和数据库(添加任务、供应商、项目)的自定义正确更新Docker Azerothcore,mysql,docker,azerothcore,Mysql,Docker,Azerothcore,我在Docker容器中运行Azerothcore WOLTK。 我想更新服务器,因为我看到有一个重要的安全修复程序 然而,自从我去年2019年12月第一次安装服务器以来,我从未更新过它。从那时起,我通过几种方式定制了服务器: 我已经定制了一些boss脚本,以便与两个玩家正常工作。 我已经安装了几个模块,包括一个还需要编译一些额外代码的模块,以及一些需要运行的SQL查询。 我自己修改了数据库,添加了任务、NPC、供应商和物品 因此,我非常担心我会把一切都搞砸。我需要您的帮助,了解如何继续将服务器更

我在Docker容器中运行Azerothcore WOLTK。 我想更新服务器,因为我看到有一个重要的安全修复程序

然而,自从我去年2019年12月第一次安装服务器以来,我从未更新过它。从那时起,我通过几种方式定制了服务器:

我已经定制了一些boss脚本,以便与两个玩家正常工作。 我已经安装了几个模块,包括一个还需要编译一些额外代码的模块,以及一些需要运行的SQL查询。 我自己修改了数据库,添加了任务、NPC、供应商和物品 因此,我非常担心我会把一切都搞砸。我需要您的帮助,了解如何继续将服务器更新到最新版本,同时维护我执行的所有自定义

我特别关心数据库的变化,因为我认为我可以备份更新后的boss脚本,在构建之前进行git拉取并再次替换它们,之后我应该进行fork,我没有想到。。。 但无论如何,考虑到我使用的是docker安装,如果您能一步一步地指导我,我将非常感激

对于任何与数据库相关的内容,我都使用HeidiSQL,所以我可以将其用于任何数据库过程。我不是很精通SQL查询,但我应该能够根据需要导入.SQL文件

我知道我问的问题很多,所以请不要觉得有压力马上回答。如果你有机会帮助我,我将不胜感激


谢谢您的时间:

我将尝试回答您提到的所有问题:

1.老板写剧本。 可能发生的最糟糕的事情是,在使用git获取最新更改时,会出现合并冲突。因此,您必须手动解决这些问题。这不一定很难,尤其是在你的情况下。这只是boss脚本,所以本质上,它们是完全独立的,在处理它们时,您肯定不会破坏任何其他内容

2.模块 这些模块应该根本不是问题。模块的存在正是因为这个原因:被隔离,在更新核心或类似模块时不会引起问题

我唯一关心的是需要核心变更的模块。我不知道你安装了什么模块,通常不会发生这种情况。一个合适的Azeroth核心模块不需要任何核心变更。 然而,同样,最糟糕的事情是一些git合并冲突,我希望不会有太大的冲突,这取决于模块所需的这些更改有多大和多大

3.自定义数据库更改。 黄金法则是:始终将自定义SQL查询存储在某个地方,以便于重新应用它们。例如,插入前始终使用删除,可能时首选更新,等等

因此,您所需要的只是一个文件或一组文件,其中包含与您所做的自定义更改相对应的所有SQL代码。如果没有,您仍然可以从数据库中提取它

然后,如果您觉得有必要,您可以在更新核心后重新应用它们。您也可能根本不需要重新应用它们。或者你想从一个全新的艾泽拉斯核心世界数据库开始,重新应用你的更改。这实际上取决于具体情况,但无论如何,只要您将更改保存在SQL文件中,就可以了

您可以使用编辑数据库,或者在需要时提取更改。例如,可以打开实体并复制其完整查询

先备份 在开始升级过程之前,请创建以下内容的备份:

你的数据库 您已修改的源文件,例如BOSS等。。。 经常更新! 然而,自从我去年2019年12月第一次安装服务器以来,我从未更新过它

这一点都不推荐!你应该每周至少更新一次艾泽拉斯核心。这样做有很多很好的理由,其中之一是:如果你经常这样做会更容易

使用Docker时如何更新AzerothCore
关于使用Docker更新AC的一般问题已经在这里提出:

我将尝试回答您提到的所有问题:

1.老板写剧本。 可能发生的最糟糕的事情是,在使用git获取最新更改时,会出现合并冲突。因此,您必须手动解决这些问题。这不一定很难,尤其是在你的情况下。这只是boss脚本,所以本质上,它们是完全独立的,在处理它们时,您肯定不会破坏任何其他内容

2.模块 这些模块应该根本不是问题。模块的存在正是因为这个原因:被隔离,在更新核心或类似模块时不会引起问题

我唯一关心的是需要核心变更的模块。我不知道你安装了什么模块,通常不会发生这种情况。适当的 艾泽拉斯核心模块不需要任何核心变更。 然而,同样,最糟糕的事情是一些git合并冲突,我希望不会有太大的冲突,这取决于模块所需的这些更改有多大和多大

3.自定义数据库更改。 黄金法则是:始终将自定义SQL查询存储在某个地方,以便于重新应用它们。例如,插入前始终使用删除,可能时首选更新,等等

因此,您所需要的只是一个文件或一组文件,其中包含与您所做的自定义更改相对应的所有SQL代码。如果没有,您仍然可以从数据库中提取它

然后,如果您觉得有必要,您可以在更新核心后重新应用它们。您也可能根本不需要重新应用它们。或者你想从一个全新的艾泽拉斯核心世界数据库开始,重新应用你的更改。这实际上取决于具体情况,但无论如何,只要您将更改保存在SQL文件中,就可以了

您可以使用编辑数据库,或者在需要时提取更改。例如,可以打开实体并复制其完整查询

先备份 在开始升级过程之前,请创建以下内容的备份:

你的数据库 您已修改的源文件,例如BOSS等。。。 经常更新! 然而,自从我去年2019年12月第一次安装服务器以来,我从未更新过它

这一点都不推荐!你应该每周至少更新一次艾泽拉斯核心。这样做有很多很好的理由,其中之一是:如果你经常这样做会更容易

使用Docker时如何更新AzerothCore
关于使用Docker更新AC的一般问题已经在这里提出:

谢谢您的详细回答!老板的剧本与我没有太大关系,我想如果它们发生了变化,我能够找出它们。模块,是的,有一对NPC野兽大师,例如,加上一个,使任务寻找者在没有一个完整的群体和这些担心我一点。对于DB更改,我确实将所有手动编辑保存在SQL文件中,但我承认我不知道我使用的软件Heidi SQL是否使用了您提到的策略。有没有办法安装一个独立版本的it docker linux,这样我就可以确保它正常工作,保持正常运行?Tnx@阿塔尼斯是的,当然,这是个好主意。您可以使用其他端口创建另一个DB容器。然后将worldserver配置为使用另一个实例。所以你可以做这个实验,确保你的查询没有遗漏任何东西。很好:-我会尝试这种方法。非常感谢。谢谢你详细的回答!老板的剧本与我没有太大关系,我想如果它们发生了变化,我能够找出它们。模块,是的,有一对NPC野兽大师,例如,加上一个,使任务寻找者在没有一个完整的群体和这些担心我一点。对于DB更改,我确实将所有手动编辑保存在SQL文件中,但我承认我不知道我使用的软件Heidi SQL是否使用了您提到的策略。有没有办法安装一个独立版本的it docker linux,这样我就可以确保它正常工作,保持正常运行?Tnx@阿塔尼斯是的,当然,这是个好主意。您可以使用其他端口创建另一个DB容器。然后将worldserver配置为使用另一个实例。所以你可以做这个实验,确保你的查询没有遗漏任何东西。很好:-我会尝试这种方法。非常感谢。