EPGStation のバージョンアップではまったメモ
EPGStation のアップデートを公式ドキュメント通りに実施したところ、なぜか起動しなくなった。 Github の issue をのぞいてみたけど現象は報告されていなかったので、自分だけかもしれない。 とりあえず自力でなんとかしてみたのでそのときのログを残しておく。
公式サイトの手順通りにアップデートを実施
git pull npm update npm update -D npm run build
EPGStation を再起動
pm2 restart epgstation
なぜかアクセスできなくなったので困った困った。 とりあえずログを探してみる
less logs/Operator/system.log
それっぽいエラーはいてるけど何が何だかさっぱり。
[2019-07-07T16:00:55.276] [INFO] system - upgrade 8 => 9 [2019-07-07T16:00:55.324] [FATAL] system - upgrade error
もっと詳しいログはないのかなーと探してみたらあった。
pm2 show epgstation
を実行するとこんな感じの記載があった
out log path │ $HOME/.pm2/logs/epgstation-out.log
とりあえずのぞいてみたらそれっぽいエラーが見つかる。
Error: ER_DUP_FIELDNAME: Duplicate column name 'channelId'
エラーはこのファイルMigrationV9.tsで起きているらしい。 中身を見るとDBのMigrationで RecordedHistory テーブルに channelId カラムを追加しているだけっぽい。
実際に該当のテーブルを見てみたら、すでに channelId カラムが存在している。。。 追加に失敗しているんだったら該当カラムを削除しちゃえば動くんじゃない?と安直な考えをしてみた。
まずは該当カラムにデータが入っているかを確認。 以下のクエリたたいてみたけど、NULL以外のデータが入っているものがなかった。
select * from RecordedHistory where channelId is not null;
ならバックアップとってから削除してしまえ。
epgstation 停止
pm2 stop epgstation
データベースをバックアップ
mysqldump --single-transaction -u user名 -p table名 > バックアップファイル名
カラム削除
alter table RecordedHistory drop channelId;
epgstation 起動
pm2 start epgstation
無事起動。 よかったね。