更新環境: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.tkk7.com/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);
到這里,更新完畢,轉帖的同行記得要寫上此貼出處。^_^。