游戏合服

第一个项目,算到头了,最近也提了离职.公司让我最后走之前进行游戏合服.

说白了就是合并数据库.项目开发时候也曾经考虑过合服的问题.理论上是可以合的.

我备份了两个数据库,尝试合并.目前发现

一需要解决的问题大概有3个:

1玩家姓名username重复

2自增Id的重复

3竞技排名,排行榜等信息处理

二思路,大概是:

1备份数据库,建立temp数据库.

2根据需要做数据更新.

如username加区号后缀.

auto Id+上一张表的m_id=max(id),但是这样容易重复.

这里用了个小技巧,设置了个中间变量temp_val=1000000,增加变量add_val=50,先让id=id+temp_val+add_val+m_id,然后id = id-temp_val.这样就不会update时避免报重复值错误.

3根据需要导出数据.建了个忽略表数组,忽略掉竞技排名,排行榜这一类data

4将这些数据导到一个主数据库,我是用第一个区的数据库全封不动做主库

三程序方面

虽然直接操作数据库也可以完成,但是毕竟有20个区,一个个搞还是太烦了.但是离职也没什么心思细致去搞.

决定用python操作,python操作数据库太久了,想了想用它去执行shell脚本就好了.

py---paramiko---->ssh------>exec shell file[include mysql operate command]

给笨笨的自己提个醒>_<~
原文地址:https://www.cnblogs.com/ephuizi/p/4392151.html