Windows Server 2003 殲滅作戦の一環として部内Redmine環境を移行したのでメモ
移行前後で環境比較
旧環境
サーバー:Windows Server 2003R2
Redmineのバージョン:Redmine 1.0.3
##新環境
サーバー:Windows Server 2008R2
Redmineのバージョン:Redmine 3.0.3
参考にした記事
Redmine0.9.1(CentOS5.8上)→Bitnami Redmine Stack2.5.1(Windows)に移行+Bitnami添付のSubversionへのデータ移行まとめ
http://micarom.hatenablog.com/entry/2014/07/08/004007
#文字化け、不要テーブルの削除等、躓いたところが一致していたので、
大変たすかりました。
#1.MySQLダンプのエクスポート(旧環境)
1.1 パスワードの確認
下記設定ファイルの「Production」セクションにて、
Redmineで使用するDB名、ユーザ名、パスワードが記録されているため、確認する
1.2 CD
コマンドプロンプトを起動し、Redmineインストールフォルダ/mysql/binフォルダへ移動する。
cd /d G:\BitNami Redmine Stack\mysql\bin
1.3 エクスポート
以下コマンドにてMySQLのダンプをエクスポート
この時、取得したダンプが文字化けしていたため、参考サイトの情報より「--default-character-set=binary」を追加
mysqldump -u bitnami -p bitnami_redmine --default-character-set=binary > G:\redmine_backup.dmp
(mysqldump -u #ユーザ名 -p #DB名 --default-character-set=binary > #出力ファイルパス)
2.MySQLダンプの文字コード変更
参考サイトと同様に、そのままインポートしたら文字化けしたため、
ダンプファイル内にてテーブルのCHARSETに「latin1」を指定している部分を
一括置換で「utf8」に変更
3.Bitnami Redmineのインストール
下記より最新バージョンをダウンロード、インストール
https://bitnami.com/stack/redmine/installer#windows
4.MySQLダンプのインポート(新環境)
4.1 パスワードの確認
下記設定ファイルの「Production」セクションにて、
Redmineで使用するDB名、ユーザ名、パスワードが記録されているため、確認する
Redmineインストールフォルダ/apps/redmine/config/database.yml
4.2 CD
コマンドプロンプトを起動し、Redmineインストールフォルダ/mysql/binフォルダへ移動する。
cd /d D:\Bitnami\redmine-3.0.3-0\mysql\bin
4.3 インストール時のダンプ取得
インストール時のダンプをエクスポート
mysqldump -u bitnami -p bitnami_redmine > D:\RedmineTrans\redmine_org.dmp
4.4 インポート
旧サーバーにて取得・編集したダンプをインポート
mysql -u bitnami -p bitnami_redmine < D:\RedmineTrans\redmine_backup.dmp
5.DBのマイグレーション
5.1 パス設定
コマンドプロンプトを起動し、Ruby実行フォルダへパスを通す
SET PATH=%PATH%;D:\Bitnami\redmine-3.0.3-0\ruby\bin;
5.2 CD
マイグレーションを実行するフォルダへ移動
cd /d D:\Bitnami\redmine-3.0.3-0\apps\redmine\htdocs
5.3 マイグレーション
マイグレーション実行
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
#ここで、参考のサイトと同様に既にテーブルが存在するというようなエラーが発生したため、いくつかテーブルを削除
5.4 テーブル削除
既存テーブルを削除
コマンドプロンプトより、MySQLのDBへ接続
mysql -u bitnami -p bitnami_redmine
#パスワードはインポート時に調べたものを用いる
以下のコマンドによりテーブル4つを削除
drop table changeset_parents; drop table queries_roles; drop table custom_fields_roles; drop table email_addresses;
5.5 マイグレーション
再度、マイグレーション実行
正常に終了。新環境のRedmineへ接続し、旧環境のユーザでログインできることを確認。
6.その後
使ってもらったら日本語ファイル名のファイルがアップロードできねーぞコラ!
と言われたけど、業務が激しく対応できていなかったら、いつの間にか対応してくれてた。
どういう風に対応したかは不明(TODO:分かったら追記する)