Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Testlink アップグレード(1.9.4 -> 1.9.14)記録

More than 5 years have passed since last update.

Testlinkを使用していましたが、連携しているRedmineへのリンクが正しくないので、アップグレードしてみました。
前準備で先人の知恵を探したのですが見当たらなかったため、今後作業しようとしている人が参考にしていただければと思いまとめました。
Upgrade手順書はモジュールの中に含まれていました。私がやった作業をまとめます。
同様の手順で1.9.3以上のバージョンであればアップグレードできるようです。

環境

  • OS: Amazon Linux
  • php:5.3.29
  • mysql:5.5.40

バックアップ

- AWS でイメージ作成
Mysqlのダンプを取るのが一般的のようです。

モジュール

ダウンロード

下記よりダウンロード
http://testlink.org/

配置

ダウンロードしたモジュールは解凍し

/var/www/html
testlink -> testlink1.9.4へのシンボリックリンク
testlink-1.9.4 旧環境
testlink-1.9.14 新環境

のように置きました。

手順書

testlink-1.9.14/README に詳細な更新手順が記されていました。
具体的には174行目5.Upgrade and Migrationを参照します

ファイルコピー

以下の2ファイルを旧環境から新環境に
$ cp testlink-1.9.4/config_db.inc.php testlnk-1.9.14/config_db.inc.php
$ cp testlink-1.9.4/custom_config.inc.php testlnk-1.9.14/custom_config.inc.php

DB更新

バージョンが1.7.xや1.8.xだったら、ここでTestlinkを立ち上げ、ブラウザでアクセスするとインストーラがやってくれる。らしいですが、今回は同じメジャーバージョンからのアップグレードなので、DBの更新が必要です。

prefixの確認

下記のコマンドでDBテーブルプレフィックスを確認します。
vi testlink-1.9.14/config_db.inc.php

define('DB_TABLE_PREFIX', 'tslk');

上記の場合、"tslk"がプレフィックスです。
これをメモしておきます。

DB更新SQLを編集

実行ファイルをバックアップをとります

$ cd testlink-1.9.14/install/sql/alter_tables/1.9.6/mysql/DB.1.6/step1/
$ cp db_schema_update.sql db_schema_update_org.sql

viで開いて、
/prefix/ -> tslk
に置換します。

viコマンドでは

:%s;/\*prefix\*/;tslk;g

で、できると思います。
ここでの「tslk」は上記で確認したプレフィックスです。
環境に合わせて書き換えてください

ファイル実行

mysql -u[user.name] -p[password] [dbname] -e "db_schema_update.sql" > out.txt  

以下のファイルも同様にSQLを置換して実行

  • install/sql/alter_tables/1.9.6/mysql/DB.1.6/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.8/mysql/DB.1.9.8/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.8/mysql/DB.1.9.8/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.9/mysql/DB.1.9.9/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.9/mysql/DB.1.9.9/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.10/mysql/DB.1.9.10/step1/db_data_update.sql
  • install/sql/alter_tables/1.9.11/mysql/DB.1.9.11/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.11/mysql/DB.1.9.11/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.12/mysql/DB.1.9.12/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.12/mysql/DB.1.9.12/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.13/mysql/DB.1.9.13/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.13/mysql/DB.1.9.13/stepZ/z_final_step.sql
  • install/sql/alter_tables/1.9.14/mysql/DB.1.9.14/step1/db_schema_update.sql
  • install/sql/alter_tables/1.9.14/mysql/DB.1.9.14/stepZ/z_final_step.sql

数が多いので確認が大変です。が頑張りました。

後片付け

シンボリックリンクを付け替え、httpdを再起動し、Testlinkの動作を確認します。
最後にtestlink-1.9.14/installを削除すれば出来上がりです。
Redmineへのリンクも修正されていい感じです。

moriyuki
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away