LoginSignup
1
0

More than 5 years have passed since last update.

Redmineをver2.xからver3.xへマイグレするためMySQLのDB restoreをやってみたが結論としてはがDBスキーマ不良で失敗だったの記録@20150623

Last updated at Posted at 2017-12-28

Redmineをver2.xからver3.xへマイグレするためMySQLのDB restoreをやってみたが結論としてはがDBスキーマ不良で失敗だったの記録@20150623

マイグレ(INSTALL_DIR)は

元)redmine-2.6.1-0

先)redmine-3.0.3-0

参考としたサイトは以下

http://satsumahomeserver.com/blog/3612

http://chunye.seesaa.net/article/418976383.html

最初に環境変数を変更

RubyのbundleはPATHがないと直ぐにエラー返し・・・、なので環境変数を最初に確認し変更。

(PATH通す必要性、環境変数って前近代的と思うけど・・・、どうなんだろう?、今でもLinuxもしっかり必要で。大昔の遺物(DOSレベル)?
・・・、はさておき)

システム環境に3.0台のRubyのpathを追加(redmine-2.6.1-0のPathは既にある前提)

;C:\BitNami\redmine-3.0.3-0\ruby\bin ;C:\BitNami\redmine-3.0.3-0\imagemagick

MySQLのDBをRestore

まずマイグレ元のRedminieでSQLのバックアップファイルを作成。
マイグレ先のRedmine-3.0.3のmysqlに移動して、バックアップしたSQLファイルを指定しRestore

念のため3.0.3-0のSQLも事前バックアップしておいて、

cd C:\BitNami\redmine-3.0.3-0\mysql\bin

mysqldump -u root -P 9306 -B bitnami_redmine -p >backup.sql

まずDBの取り込み実行

バックアップ(吐き出し)とは逆向きの ”<” が単純明快

mysql -u root -P 9306 -B bitnami_redmine -p<C:\BitNami\redmine-2.6.1-0\mysql\bin\backup.sql

次にDBのマイグレを実行

cd C:\BitNami\redmine-3.0.3-0\apps\redmine\htdocs

bundle exec rake db:migrate RAILS_ENV='production'
bundle exec rake db:migrate RAILS_ENV=production
rake db:migrate RAILS_ENV=production

OKでず不発???

port番号が正しいか確認

C:\Bitnami\redmine-3.0.3-0\apps\redmine\htdocs\config
database.yml
port: 3306

redmine-3.0.3-0は9306でなく3306だった、失礼・・・

再度DBマイグレを実行

mysql -u root -P 3306 -B bitnami_redmine -p<C:\BitNami\redmine-2.6.1-0\mysql\bin\backup.sql

OK

おーOKで通った。

C:\Bitnami\redmine-3.0.3-0\apps\redmine\htdocs\files

2015 folder copy

bundle exec rake tmp:cache:clear

bundle exec rake tmp:sessions:clear

とcacheをクリアしてDBのRestoreは終わり

DB RestoreはOKだがRedmineは動作不良

終わってRedmineに戻ると新しいチケット作成でトラッカーの不整合が起き2.0で作成されたトラッカーが削除できず、かつ3.0で新しいチケット作成できず。単に2.0で作成した過去チケットを見るだけ、のRedmineになってしまった。

ググると3.0ではDB スキーマの違いありで、単なるDB Restore では無理の様子。

従い、SQLDBを直接いじってテーブル構成修正をトライ・・・でMySQLコマンドで確認した経緯を以下記録

MySQLのDB操作


bitnami-redmineのMySQL にコマンドラインから接続してみる

mysql -u ユーザー名 -D データベース名 -p

C:\BitNami\redmine-2.6.1-0\mysql\bin>mysql -u root -D bitnami_redmine -p

Enter password: ***********

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 4.1.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

でMySQLへ接続できた。

まずはどんなDBがあるか確認

mysql>
mysql> show DATABASES;

clipboard.jpg
5 rows in set (0.00 sec)

bitnami_redmineのDBがあるのが確認できたので、そのテーブル種類を確認

mysql> show tables;

clipboard_2.jpg
51 rows in set (0.00 sec)

トラッカーの不整合が問題なのでTracker Tableを確認
2Byte文字化けだが6個のトラッカーが確認できる。

mysql> select * from trackers;

clipboard_3.jpg
5 rows in set (0.00 sec)

合わせてトラッカーのIndexmを確認

mysql> show index from trackers;

clipboard_4.jpg
1 row in set (0.11 sec)

トラッカーのカラムタイプを確認

mysql> show columns from trackers;

clipboard_5.jpg!
6 rows in set (0.01 sec)

mysql> show columns from issue_statuses;

clipboard_6.jpg
6 rows in set (0.11 sec)

mysql> select * from issue_statuses;

clipboard_7.jpg
6 rows in set (0.01 sec)

mysql> \q

Bye

で、これをredmine-3.0.3-0のMySQLと比較して・・・

だがここで挫折し、結局マイグレは失敗となった。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0