更新环境:redhat enterprise linux 5 + mysql-5.5.27+httpd-2.2.23+php-5.3.19+TestLink 1.8.4
一、 备份TestLink 1.8.4数据库
使用如下命令备份TestLink 1.8.4的mysql数据库
# mysqldump -u root -p testlink | gzip > /tmp/llj/testlink_20121205.sql.gz
Testlink是数据库名字
/tmp/llj/testlink_20121205.sql.gz 是备份存储的路径
二、 导入TestLink 1.8.4数据库
创建新的数据库用于导入备份的数据库,命令如下:
# mysql –u root –p
输入密码后进入mysql操作界面
输入:create database testlink_new
使用如下命令导入备份的TestLink 1.8.4的mysql数据库,从新命名数据库名
# Gunzip < testlink_20121205.sql.gz | mysql –u root –p testlink_new
三、 安装TestLink 1.9.4程序包
安装步骤具体见:http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html
四、 更新导入的Testlink1.8.4数据库表结构
记录testlink的数据库更新sql文件存放地方进行数据库表升级
# cd /data/apache2/htdocs/Testlink/install/sql/alter_tables/
# ll
会显示Testlink各版本的更新数据库sql文件,从1.9依次升级到1.9.4
进入mysql执行如下命令
# mysql –u root –p
# use testlink_new
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9/mysql/DB.1.3/step1/db_schema_update.sql
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9/mysql/DB.1.3/stepZ/z_final_step.sql
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.1/mysql/DB.1.4/step1/db_schema_update.sql
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.1/mysql/DB.1.4/stepZ/z_final_step.sql
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.4/mysql/DB.1.5/step1/db_schema_update.sql
# source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.4/mysql/DB.1.5/stepZ/z_final_step.sql
# commit;
五、 更新TestLink1.9.4配置文件
进入新安装的TestLink1.9.4数据库配置文件,更新链接的数据库链接到testlink_new.
# cd /data/apache2/htdocs/Testlink
# vi config_db.inc.php
修改’DB_NAME’ 的值为:testlink_new
保存后在浏览器访问testlink,使用之前的老用户账户登录,能成功登录进去并看到之前的测试用例和测试计划,恭喜你成功了。^_^。
六、 更新缺失的数据库表
对比备份的TestLink 1.8.4和新安装的TestLink 1.9.4数据库表,发现还需要做如下操作。
需要在testlink_new增加如下表:
last_executions
last_executions_by_platform
tcversions_last_active_bare_bones
需要在testlink_new删除如下表:
text_templates
具体操作如下:
# mysql –u root –p
# use testlink_new
# drop table text_templates;
# create table Last_executions
(tcversion_id int(10) unsigned NOT NULL Default 0,
testplan_id int(10) unsigned NOT NULL Default 0,
platform_id int(10) unsigned NOT NULL Default 0,
Build_id int(10) NOT NULL Default 0,
id int(10) unsigned default NULL );
# create table Last_executions_by_platform
(tcversion_id int(10) unsigned NOT NULL Default 0,
testplan_id int(10) unsigned NOT NULL Default 0,
platform_id int(10) unsigned NOT NULL Default 0,
id int(10) unsigned default NULL );
# create table Tcversions_last_active_bare_bones
(tcase_id int(10) unsigned default NULL,tcversion_id int(10) unsigned default NULL);
到这里,更新完毕,转帖的同行记得要写上此贴出处。^_^。