游戏合服
第一个项目,算到头了,最近也提了离职.公司让我最后走之前进行游戏合服.
说白了就是合并数据库.项目开发时候也曾经考虑过合服的问题.理论上是可以合的.
我备份了两个数据库,尝试合并.目前发现
一需要解决的问题大概有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]
给笨笨的自己提个醒>_<~