GitBucketをバージョンアップしてみた。

 内部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);

でシーケンスを更新してとりあえずは解消しました。