php – 进行在线游戏服务器升级的最佳做法?

假设我有一个正在运行的在线游戏,它的版本为1.0.

我一直在开发登台服务器并为游戏带来新功能.登台服务器是与实时服务器不同的服务器. (我相信大多数人这样做)

好.我完成了新版本1.1.现在进行在线游戏服务器升级的最佳做法是什么?

让我们假设它是一个简单的游戏服务器PHP MysqL.所以有新的PHP脚本或更改的脚本,以及新的MysqL表,列或修改的列.我希望不要手动执行 – 在实时服务器上逐个手动执行相同的更改.这是丑陋的,容易犯错,必须记住你所做的每一个改变.

我能想到的另一种方法是使登台服务器生效,并导入所有现有的数据库数据.我不喜欢它,似乎任何时候都可能发生错误.

您可以推荐的最佳方式是什么?

最佳答案
>版本控制 – 使用它!
>迁移 – 使用它!

版本控制(Git)

你应该在实时服务器上有一个git服务器,就像你的测试/舞台服务器一样.您将对您所做的更改进行提交,然后您将“推送”这些提交/更改到服务器.一旦您的测试服务器工作,您将把它推送到您的实时服务器.

迁移

大多数现代PHP框架都提供此功能.基本上,您将在代码中描述您的数据库模式.使用Laravel,您将运行:artisan migrate或将模式推送到您的数据库的东西.

只有一个数据库一个Web服务器,您可能希望阻止公众访问它们直到它更新,这主要是针对数据库,并且只会持续几秒钟,但会在迁移时防止任何错误.一个简单的git post hook就可以了.网上有很多关于此的信息.

相关文章

目录MySQL卸载环境查看是否已安装MySQL卸载mysql服务查看是否...
目录数据类型数据类型分类数值类型以TINYINT认识整型族有符号...
目录表的约束空属性非空约束(NOT NULL Constraint)默认值定...
目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间...
目录使用C语言连接库的安装C APImysql_initmysql_real_conne...
目录用户用户管理查询所有用户查看当前用户查看当前连接数创...