内部Gitとして使用しているGitBucketが導入から3年近く経ったので、バージョンアップを検討する事にしました。
使用中のGitBucketは、4.13、最新は4.36.2となっているようです。とりあえず、端末上でWARのみ最新バージョンにして試してみたところ、下記が原因で止まってしまいます。
-
org.apache.catalina.LifecycleException: org.h2.jdbc.JdbcSQLException: テーブル “PRIORITY” はすでに存在します
バージョンアップは基本的にDBをエクスポートしてインポートするのが正解のようなので、GitBucketのSystem administrationよりDBをエクスポートし、SQLファイルを取得しておきます。その後、DBを一旦クリアして、最新バージョンを立ち上げ、SQLファイルをインポートしてみますが下記で失敗します。
-
org.h2.jdbc.JdbcSQLException: テーブル “ACTIVITY” が見つかりません
Table “ACTIVITY” not found; SQL statement:
DELETE FROM ACTIVITY [42102-196]
どうやら、ACTIVITYデータがDB管理からJSONファイルに移行したようです。
いろいろ、バージョン毎に動作を確認しながら試したところ、DBをクリアした状態で4.32を立ち上げて、DBをインポート(RELEASEテーブルで怒られるが、データが無かったので、SQLからDELETE文を削除)
その後、DBはそのままで最新の4.36.2を立ち上げるとうまく動作しました。ついでにDBもH2からpostgresに移行してみましたが、ブランチのマージ操作でエラーが出てました。どうもシーケンスが1からになっているようです。
System Administration -> Database viewerで、
select * from issue_comment_comment_id_seq;
select max(comment_id) from issue_comment;
select setval('issue_comment_comment_id_seq',xxxx);
でシーケンスを更新してとりあえずは解消しました。