Joruri Gw 3.1.0から3.2.0へのバージョンアップ

公開日 2017-06-08

最終更新日 2017-06-08

はじめに

OS, ミドルウェアが変更となるため、新しい環境に3.2.0をインストールしたあと、データを移行することを想定しています。
JoruriGwは v3.0.0で分割管理をしていたデータベースを統合するなど大幅な変更を行っています。
v2.3.1以前のバージョンからのアップデートを行う場合は、v.2.x系 → v3.1系へのアップデートを行い、
その後、v3.2へのバージョンアップを実施してください。
v2.x系からv3.1へのバージョンアップは、下記の記事を参考にしてください。
JoruriGw2.xからJoruriGw3.1へのバージョンアップ

Joruri Gw 3.2.0のインストール

インストールマニュアルに従ってインストールしてください。
インストールマニュアル

設定移行

Joruri Gw 3.1.0の設定内容を 3.2.0へ移行します。
下記のファイルを編集してください。

  • /var/share/jorurigw/config/application.yml
  • /var/share/jorurigw/config/core.yml
  • /var/share/jorurigw/config/database.yml
  • /var/share/jorurigw/config/ldap.yml
  • /var/share/jorurigw/config/smtp.yml (3.1.0の設定は/var/share/jorurigw/config/environments/production.rbにあります)

データ移行

3.1.0 の環境から 3.2.0 の環境へデータベースを移行します。
3.1.0 の環境からデータベースをエクスポートします。
$ mysqldump production_jorurigw -u root -p > production_jorurigw.dump

3.2.0 の環境へデータベースをインポートします。
$ mysql jorurigw -u root -p < production_jorurigw.dump

未適用のマイグレーションを確認してください。
Statusがdownとなっているものが未反映です。
$ bundle exec rake db:migrate:status RAILS_ENV=production

database: jorurigw

 Status   Migration ID    Migration Name
--------------------------------------------------
 down   20160415040000  Drop obsolete tables
 down   20160415041553  Create tables
 down   20160726074251  Create gwbbs flags
 down   20160726075717  Add read flag to gwbbs controls
 down   20160727083223  Create gw memo files
 down   20160727084620  Add tmp id to gw memos

上記のCreate tables は全テーブルを再作成する初期化用マイグレーションのため、そのまま実行するとデータが削除されます。
スキップするために以下の通りバージョン番号を登録してください。
$ mysql -u joruri -p jorurigw -e "INSERT INTO schema_migrations(version) VALUES(20160415041553);"

以下のマイグレーションを実行して差分のデータベース更新を反映させてください。
$ bundle exec rake db:migrate RAILS_ENV=production

ファイルデータ移行

添付ファイル等のデータは下記のディレクトリをそのまま旧環境のもので置き換えてください。
/var/share/jorurigw/public/_attaches

assetsコンパイルを実施します。

$ cd /var/share/jorurigw
$ bundle exec rake assets:precompile

再起動

delayed_jobを再起動します。

$ cd /var/share/jorurigw
$ bundle exec rake delayed_job:restart RAILS_ENV=production

アプリケーションサーバーを再起動します。

$ su -
# systemctl restart httpd

以上でアップグレードが完了です。