禅道不同版本数据迁移(低版本:9.1.2 至最新版本:11.5.1 )

本文详细介绍了如何将禅道从9.1.2版本迁移至11.5.1的最新版本,涉及数据库表结构的对比、字段的新增和剔除,以及迁移过程中的注意事项,包括数据备份、字段处理和错误处理等。
摘要由CSDN通过智能技术生成

因公司搬迁需求,新环境都使用docker容器进行快速部署,所以需要把老服务器上的禅道迁移到新服务器docker中。

 

禅道官网介绍迁移需在软件同版本下进行:官网视频地址(Linux服务器迁移到Linux服务器)

操作如下,比较简单:
       备份旧服务器:
              /opt/zbox/app/zentao/www/data/upload/1 路径下所有文件附件,
              /opt/zbox/data/mysql/zentao 路径下所有数据库文件,
      移动覆盖到新服务器同链接下即可。

 

       然而,公司禅道使用的外部数据库,且路径下根本就没有MySQL目录及相关数据;且禅道开源版docker镜像最低版本:9.6.3,不适用官方的方法,故此有下面的方式进行迁移。

 

工具准备:

          Notepad++(或者其它可以全量查找替换的编辑工具),navicat(或者其它数据库连接工具也行)

 

先在新服务器中安装禅道(里面最好不要操作添加额外的数据):docker安装最新版本禅道

       然后备份旧禅道、新禅道(用来对比表的更改)zentao数据库中的数据,可能会出现数据库连接工具连接报错:1130-host ... is not allowed to connect to this MariaDB server 这是因为数据库设置了不允许外部进行访问,使用下面的方法进去修改数据即可。

# MySQL环境连接数据库
mysql -u root -p

# docker环境连接数据库
/opt/zbox/bin/mysql -u root -p

# 输入密码连接后,查看mysql库
use mysql;

# 查看user数据表对应登陆用户的host范围
select Host, User,Password from user;

# 更改需要登陆的用户host值为%(大家自行对应自己数据库结构和需求进行更改,我改的是root用户的)
update user set Host='%' where User='root' and Host='localhost';

# 然后重启MySQL服务
(独立MySQL使用下面命令即可)
/etc/init.d/mysqld restart

(使用禅道的数据库使用下面命令)
/opt/zbox/zbox restart

 

       做下面的操作前一定要先备份、先备份、先备份:新、旧禅道的数据库,防止迁移过程中数据问题可以随时使用新数据库数据覆盖。 

       接下来对比旧、新两个版本数据库对应的字段有哪些更改。

       下面所有操作都是大同小异的,复制出原禅道数据中的SQL,使用编辑工具搜索INSERT INTO `表名`替换成我写的对应数据库指定字段插入语句,然后下面如果有设置缺失值的SQL,先把缺失的字段改为允许为null,然后运行替换好的SQL,运行设置缺失字段SQL,改回缺失的字段为不允许为null即可。

以Notepad++工具、`zt_doc`数据库为例,操作都是如下:

1、替换SQL插入语句:

2、把缺失的字段改为允许为null(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值