Redmine > 3.1→3.4へバージョンアップ
環境:
Windows
Bitnami Redmine 3.4.1
基本的には2.x→3.4と同等作業
Redmine > 1.4→3.4へバージョンアップ - Qiita
新環境を構築する
Bitnamiのインストーラーで構築する
ファイルの移行
添付ファイルデータ移行
旧環境の 以下フォルダ配下のデータを
\apps\redmine\htdocs\files
\apps\redmine\htdocs\plugins
新環境の同フォルダへコピーする
\apps\redmine\htdocs\files
\apps\redmine\htdocs\plugins
Dumpファイルを作成する
ユーザー・パスワードは、
\apps\redmine\htdocs\config\database.ymlに設定がある。
port=3307はdatabase.ymlに設定ある番号に適宜置き換える。
mysqldump -u bitnami --password=xxxxxxx --all-databases --default-character-set=binary --port=3307 > dump.sql
新環境にDBインポート
ユーザー・パスワードは、新環境の\apps\redmine\htdocs\config\database.ymlに設定がある。port=3307はdatabase.ymlに設定ある番号に適宜置き換える。
mysql -u bitnami -p bitnami_redmine --password=xxxxxxx --port=3307 < dump.sql
mysql -u bitnami -p bitnami_redmine --password=xxxxxxx --port=3307 < dump.sql
確認
この時点でサイトにアクセス可能かいちおう確認しておいた方がいい。
トップ画面は表示されるが、プロジェクトの詳細等は表示されない。
この後にマイグレーションを行う。
マイグレーション
ルビーの設定
rubyへのパスが通ってなければパスを通す
CMD.exeにて
setx /M PATH "%PATH%;C:\BitNami\redmine-2.3.1-0\ruby\bin"
一度CMD.exeを閉じて再度開く
echo %path%
でパスを確認
①マイグレーション
カレントフォルダをapps\redmine\htdocsへ移動して以下を実行
bundle exec rake db:migrate RAILS_ENV=production
ここで以下のようなエラーが出た場合、テーブルの削除を行う。
エラーがでなければ③へ行く
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: Table 'imports' already exists: CREATE TABLE `imports` (`id` int(
11) auto_increment PRIMARY KEY, `type` varchar(255), `user_id` int(11) NOT NULL,
`filename` varchar(255), `settings` text, `total_items` int(11), `finished` tin
yint(1) DEFAULT 0 NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetim
e NOT NULL) ENGINE=InnoDB
②テーブル削除
新しいコマンドプロンプトを開き、\mysql\binへカレントフォルダを移動する。
mysql -u bitnami --password=xxxxx --port=3307
でmysqlへ入り、テーブルを削除
USE bitnami_redmine
drop table queries_roles;
再度マイグレーションを行う
が、ここでもエラーが出る。
これをエラーがでなくなるまで①と②を繰り返す。
最終的に全てがmigratedされればOK
※環境により削除対象のテーブルが違うようなので、面倒だが1つずつ確かめながらやったほうがよい。
今回削除したテーブル一覧
- import_items
- import_items;
- custom_field_enumerations
③プラグインのマイグレーション
カレントフォルダをapps\redmine\htdocsへ移動して以下を実行
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
特にエラーなく完了したら成功。
完了
旧環境のサービスを停止するか、アンインストールする。
これで完了
補足
SMTPの設定
デフォルトでgmailのSMTPが指定してある場合あるので、以下をチェック
redmine/htdocs/config/configuration.yml
適宜、SMTPを変更する。