やること
- TestLink 1.9.15 を 1.9.17 にアップグレードする
- その際に出たERROR 1062に対応する
★注意★この記事で示す手順が正しいかどうかはわからない。とりあえず、エラーに対して、それとなく対応を行ってアップデートできたっぽいというだけ。
作業手順
TestLink 1.9.15のインストール
構築は、以下の記事の通り。 belial6.hateblo.jp
TestLink 1.9.17のインストール
// Apacheを停止して、既存のフォルダを退避する sudo systemctl stop httpd sudo mv /var/www/html/testlink /var/www/html/testlink.bak // testlink 1.9.17のアーカイブを解凍し、配置・設定する sudo tar zxvf testlink-1.9.17.tar.gz sudo mv testlink-1.9.17 /var/www/html/testlink sudo chmod -R 755 /var/www/html/testlink/gui/templates_c sudo chown -R apache:apache /var/www/html/testlink sudo systemctl start httpd
この後、以下のURLにアクセスすると、TestLinkの初期設定画面が表示される。アップデートする場合には、DBを更新する必要があると言われる(書かれている)ので、READMEに従ってDBの更新を行う。
http://localhost:10082/testlink/
DBスキーマの更新
// 1.9.15 → 1.9.16 cd /var/www/html/testlink/install/sql/alter_tables/1.9.16/mysql/DB.1.9.16/step1 sudo mysql -u root -p testlink < db_schema_update.sql cd /var/www/html/testlink/install/sql/alter_tables/1.9.16/mysql/DB.1.9.16/stepZ sudo mysql -u root -p testlink < z_final_step.sql // 1.9.16 → 1.9.17 cd /var/www/html/testlink/install/sql/alter_tables/1.9.17/mysql/DB.1.9.17/step1 sudo mysql -u root -p testlink < db_schema_update.sql Enter password: ERROR 1062 (23000) at line 67: Duplicate entry '8-30' for key 'PRIMARY' ★エラー発生 // 上記のエラーが出た場合は、db_schema_update.sql ファイルを開いて、エラー箇所以降のSQL文を手動で流す。 // そこだけ別ファイルに出して、実行するのでもよい。 // 以下は、DBアクセス後、コピペして流した。 sudo mysql -u root -p testlink MariaDB [testlink]> INSERT INTO /*prefix*/role_rights (role_id,right_id) VALUES (8,50); MariaDB [testlink]> INSERT INTO /*prefix*/role_rights (role_id,right_id) VALUES (8,51); MariaDB [testlink]> INSERT INTO /*prefix*/role_rights (role_id,right_id) VALUES (8,52); MariaDB [testlink]> INSERT INTO /*prefix*/role_rights (role_id,right_id) VALUES (8,53); MariaDB [testlink]> INSERT INTO /*prefix*/role_rights (role_id,right_id) VALUES (8,54); MariaDB [testlink]> ALTER TABLE /*prefix*/testprojects ADD COLUMN code_tracker_enabled tinyint(1) NOT NULL default '0'; MariaDB [testlink]> ALTER TABLE /*prefix*/users ADD COLUMN creation_ts timestamp NOT NULL DEFAULT now(); MariaDB [testlink]> ALTER TABLE /*prefix*/users ADD COLUMN expiration_date date DEFAULT NULL; MariaDB [testlink]> \q cd /var/www/html/testlink/install/sql/alter_tables/1.9.17/mysql/DB.1.9.17/stepZ sudo mysql -u root -p testlink < f_final_step.sql
再度、以下のURLにアクセスして初期設定を行う。初期設定後、ログイン画面にアクセスでき、admin/adminでログインできればOK。
http://localhost:10082/testlink/
以上