redmine版本升级-数据迁移操作

近期公司使用的redmine版本升级,由于此次升级版本跨度太大,数据库表结构有所改变,故在此记录;

升级前:

    服务器环境:win server 2008

    redmine版本:2.6..10

升级后:

    服务器环境:win 10

    redmine版本:4.0.3

    

redmine数据库升级操作:

0、新版本的数据库初始化;正常安装完之后,数据库会初始化;

redmine安装可以参考如下文章:

http://www.redmine.org.cn/499.html

1、从旧环境中把数据库的数据delete+insert 导出(除users,issue_statuses之外);
2、把users,issue_statuses两张表的创建语句和insert导出;

3、在新库的环境中执行数据导入;

4、在新库中创建users_bk,issue_statuses_bk两张备份表,就是旧库的users和issue_statuses表;
5、把旧库中的users和issue_statuses表数据导入到上述两张备份表中;
6、执行sql

如下操作前,先把下面几张表的数据清空掉;

--新库的users表相比较旧库中的users表缺少了email字段;(因为新增了一个email_addresses用户邮件地址关联表;)
--往新库的users表中插入数据;

INSERT IGNORE INTO `users` (`id`, `login`, `hashed_password`, `firstname`, `lastname`, `admin`, `status`, `last_login_on`, `language`, `auth_source_id`, `created_on`, `updated_on`, `type`, `identity_url`, `mail_notification`, `salt`, `must_change_passwd`, `passwd_changed_on`)
Select id,login,hashed_password,firstname,lastname,admin,status,last_login_on,language,auth_source_id,created_on,updated_on,type,identity_url,mail_notification,salt,must_change_passwd,passwd_changed_on from users_bk;

--新库的issue_statuses表相比较旧库中的issue_statuses表缺少了is_default字段;

--往新库的issue_statuses表中插入数据;

Insert into issue_statuses ( id,name,is_closed,position,default_done_ratio)
select id,name,is_closed,position,default_done_ratio
from issue_statuses_bk;

--新库中新增了email_addresses表,是用户和email映射关系表;

--往新库的email_addresses表中插入数据;
首先,把表中created_on, updated_on两个字段默认值设置为current_timestamp;
然后执行sql:

insert into email_addresses (user_id, address)
select id user_id,mail address from users_bk;

--还有一个问题,由于issue_statuses表中缺少is_default字段,自然会在相关的表中去维护和新增这个默认的字段,

有一张表 trackers,表中添加了 default_status_id 字段
可以执行如下语句,给表中 default_status_id 值赋值为1;

update  trackers set default_status_id = 1;

=============还有已知道的表字段不一致的,没做任何操作。未发现有异常信息的=================

roles表

旧库中roles表字段:

新库中roles表字段:

未做任何其他操作;

------------------------------------------------------------------------------------------

wiki_redirects表

旧库中wiki_redirects表字段:

新库中wiki_redirects表字段:

该表由于在旧库中并未用到,所以未做操作;

===================================================================

尝试登录,成功;

但是在项目中查看上传的资源等数据都没有;

redmine的文件存储,是按照年份区分,年份里面是按照月份来区分的;

如下是redmine的文件存储路径:

\Bitnami\redmine-4.0.3-1\apps\redmine\htdocs\files

把旧版本中的files文件夹复制到新版本的htdocs文件夹下,覆盖原有files文件夹就可以了;

 

redmine数据迁移至此就已经完成了。

目前使用未发现有异常, 后面如果发现还有别的坑,会及时更新;

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值