LoginSignup
14
17

More than 5 years have passed since last update.

Bitnami Redmine 3.4 から 4.0 へデータを移行してみました

Last updated at Posted at 2018-12-26

引き続きBitnami版のRedmineの話題。
4.0.0にバージョンアップする際の、データの移行手順や注意点をまとめてみました。
なお、作業はLinux(Ubuntu)で行っています。

移行手順

Bitnami Redmine 4.0.0-0 のインストール

まずはダウンロードしたbitnami-redmine-4.0.0-0-linux-x64-installer.runを実行してインストールしましょう。
インストール先は/opt/redmine-4.0.0-0とします。

データベースのバックアップ

インストールが完了したら、すぐにデータベースをバックアップしておきましょう。失敗した時にインストール直後の状態に戻すためです。
「パスワード」の部分はインストール時に指定したパスワードで。

/opt/redmine-4.0.0-0/mysql/bin/mysqldump --single-transaction -u root -pパスワード bitnami_redmine > /home/me/bitnami_redmine_4_default.dump

旧Redmineのデータベースをダンプ

移行データをダンプして保存します。その際、-tオプションを付け、DROP TABLECREATE TABLEを行わないようにします。ファイル名はbitnami_redmine.dumpとします。

/opt/redmine-3.4.x-x/mysql/bin/mysqldump --single-transaction -u root -pパスワード -t bitnami_redmine > /home/me/bitnami_redmine.dump

初期データの削除

Bitnami Redmineをインストールすると、トラッカーやステータスなどの初期データが自動作成されるのですが、インポート時にIDが重複してしまうので、一旦すべて削除します。
下記の8テーブルを空っぽにするSQLを作成します。

truncate.sql
TRUNCATE TABLE `email_addresses`;
TRUNCATE TABLE `enumerations`;
TRUNCATE TABLE `issue_statuses`;
TRUNCATE TABLE `roles`;
TRUNCATE TABLE `schema_migrations`;
TRUNCATE TABLE `trackers`;
TRUNCATE TABLE `users`;
TRUNCATE TABLE `workflows`;

で、4.0側のBitnami ConsoleでこのSQLを実行します。

mysql -u root -pパスワード bitnami_redmine < /home/me/truncate.sql

データ移行

お待ちかね、旧Redmineのデータをインポート……と言いたいところですが、このままだと不都合が出ます。
4.0では、多数の日付型フィールドで型がdatetimeからtimestampに変更されており、かつtimestamp型は日付がUTCとして保存されるため、結果的にすべての時刻が9時間ずれます
詳しくはこちらの記事を。参考になりました。

MySQLのDATETIME型とTIMESTAMP型のタイムゾーン的な違いの話+O/Rマッパーのタイムゾーンの挙動の話

で、どうすりゃいいかというと、先ほどダンプした移行データの頭の方に下記の一文を追記します。

SET SESSION TIME_ZONE = '+09:00';

これで、JSTの時刻をUTCに変換してインポートしてくれます。もちろん、RedmineではJSTで表示されますよ。
では、今度こそインポート。ちなみに-fオプションを付けると、途中でエラーが発生しても処理を継続します。

mysql -u root -pパスワード -f bitnami_redmine < /home/me/bitnami_redmine.dump

なお、移行データの中に、プラグインが作成したテーブルのデータがある場合、「そのテーブルが存在しないよ」というエラーメッセージが出ます。
先にプラグインをインストールしてテーブルを作成しておくか、プラグイン用のデータは別途移行するか、その辺はお好みで。

注意点

以上でデータ移行は完了ですが、気付いた点がいくつか。

  • 私の環境では、なぜか「ウェルカムメッセージ」が移行できませんでした。しょうがないので旧環境からコピペします。

他にも見つかったら追記します。

14
17
0

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
14
17