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へのリンクも修正されていい感じです。