長年停止してた仮想マシンに眠っていたTestLinkのDBを最新バージョンへ移行した作業をメモ。
環境
アップグレード前
- CentOS 6.5
- Mysql 8.24
- PHP 5.3.3
- Apache 2.2.15
アップグレード後
- CentOS 7.3
- MariaDB 5.5
- PHP 7.0.15
- Nginx 1.11.8
旧環境のバックアップ
- DBはmysqldumpでバックアップ
- upload_areaディレクトリをバックアップ
- 必要ならlogsディレクトリバックアップ
新環境の準備
- MariaDB、Nginx、PHP、PHP-FPMをインストール
- nginx.confをTestLinkに合わせて変更
- 古い環境のDBを復元
- TestLink 1.9.16をダウンロードして展開(設置のデフォルトパスが/var/testlinkになっているのでそちらに展開)
- upload_areaディレクトリとlogsディレクトリを復元
DBのアップグレード
- ./install/sql/alter_tables/に有るSQLファイルをDBに合わせて順番に実効する
- ./install/sql/alter_tables/1.9/mysql/DB.1.3/step1/db_schema_update.sql
- 1.9はアップグレード先のバージョン
- DB.1.3は現在のDBのバージョン (バージョンはTestLinkDBのversionテーブルで確認する)
- step1→stepZの順番で実行する。(stepZが無い場合も有る)
- 今回は、1.9→1.9.4→1.9.6→1.9.8→1.9.9→1.9.10→1.9.11→1.9.12→1.9.13→1.9.14→1.9.15→1.9.16の順で実行
- /install/sql/alter_tables/1.9.15/mysql/DB.1.9.15/step1/db_schema_update.sql はそのまま実行するとエラーになるためdatetimeの部分をtimestampへ変更する必要がある