Mattermost バージョンアップ

 Pleskの拡張の、Mattermostの5.25から、7.8.3 ESR(長期保守版)にアップグレードするときに対応した点について残しておきます。
 

  ステップは 5.25->5.37.10->6.3.10->7.8.3 で行いました。

 それぞれ、データのバージョンアップが行えないエラーが起こることがあります。

mattermost: {“level”:“error”,“ts”:1623009164.7265103,“caller”:“sqlstore/store.go:179”,“msg”:“Failed to apply database migrations.”,“error”:“Dirty database version 1. Fix and force version.”}

 この場合は、

# su - postgres
$ psql

psqlにログイン後

postgres=# \c データベース
データベースにユーザ "postgres" として接続しました。

ここで、スキーママイグレーションフラグを消す

# DROP TABLE schema_migrations;

DROP TABLE

 これで異常停止せず、バージョンアップできます。バージョンアップは、
https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html
 に従い実施します。

 ※5.37は飛ばしてもいいかも知れませんが、6.3を飛ばすとメニューの不具合が直らなくなりました。

 ここで、実験的機能の新機能のメニューが使えなくなります。どこにも解決策が見つけられず、ChatGPTに聞いても適当なことを言います。調べるとデータベースにゴミメニューがありましたので、これを全メンバーの分を消します。

 バージョンアップのたびに実施しました。

# su - postgres
$ psql

psqlにログイン後

postgres=# \c データベース
データベースにユーザ "postgres" として接続しました。

# start transaction; delete from sidebarcategories where userid in (SELECT id FROM users); delete from sidebarchannels where userid in (SELECT id FROM users); commit;

 メニューが表示されない質問は沢山ありましたが、検索しても対処方が見つかりませんでした。

 これで多くの人が助かると思うので、公開しました。

役立つ情報