BitNami Redmine(Windows)を2.2.3から2.5.1にアップデート
BitNami Redmine(Windows)を2.2.3から2.5.1にアップデート
使いたいプラグインが2.3移行しか対応していなかったり、使っているプラグインの修正パッチが最新でコンパイルされていたりだったので、お手軽にインストールBitNami Redmineをアップデートしました。
【環境】
【感想】
【手順】
0.不要なプラグインは事前にアンインストールする
これが意外と重要です。プラグインの中にはRedmineの標準DBに変更を加えているモノもあり、プラグインが動作しなかった場合にRedmineが動作しない場合がありました。
1.DBバックアップを作成する
mysqldump -u root -p bitnami_redmine > backup.sql
求められるパスワードはBitNamiをインストール時に設定したモノです。特に文字コード指定などを設定しなくても大丈夫でした。
2.旧バージョン BitNami Redmineサービスを停止&削除する
インストールフォルダにある serviceinstall バッチをREMOVEオプションで実行します。
serviceinstall REMOVE
これでBitNami Redmineのサービスが停止し、Windowsサービスも削除される様です。この操作を行わないと、新バージョン BitNami Redmine のインストール時に「ポートが使われています」的なメッセージが表示してインストールが続行できません。
3.新バージョンBitNami Redmineをインストールする
インストーラーに不具合?があるようで、言語に日本語を指定すると途中で文字化けを発生します。言語には英語を指定して作業を行います。
4.新環境に合わせてパスを設定する
環境変数pathにrubyとimagemagickへのパスを設定します。
- C:\BitNami\redmine-2.5.1-1\ruby\bin
- C:\BitNami\redmine-2.5.1-1\imagemagick
5.データベースを移行する
1で作成したDBバックアップを復元します。
mysql -u root -p bitnami_redmine < backup.sql
次に db:migrate を実行します。bundlerが入っていなかったので gem で bundlerをインストールしておきます。
gem install bundler
bundle exec rake db:migrate RAILS_ENV='production'
== CreateCustomFieldsRoles: migrating ========================================
-- create_table(:custom_fields_roles, {:id=>false})
rake aborted!
An error has occurred, all later migrations canceled:
Mysql2::Error: Table 'custom_fields_roles' already exists: CREATE TABLE `custom_fields_roles` (`custom_field_id` int(11)
NOT NULL, `role_id` int(11) NOT NULL) ENGINE=InnoDBc:/BitNami/redmine-2.5.1-1/apps/redmine/htdocs/db/migrate/20130713104233_create_custom_fields_roles.rb:3:in `up'
C:in `migrate'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
既にtableがあるよ的なエラーでrakeを失敗しました。面倒なのでcustom_fields_rolesにはデータが無いことを確認してtableをdropしてしまいます。こんな感じで同じ様な失敗の場合はtableをdropしてrakeを実行します。
6.その他のデータ移行を行う
theme、plugins、filesをコピーします。
- htdocs\plugins
- htdocs\files
- htdocs\public\themes
- htdocs\config\configuration.yml(メール送信のSMTP設定のため)
最後にredmine:plugins:migrateを実行しておきます。
bundle exec rake rake redmine:plugins:migrate RAILS_ENV="production"
Complateとなれば完了です。最後にRedmineを再起動して動作を確認します。