# データ移行方法

## 概要

ここでは、0.7から0.8へのデータの移行法について説明します。 データを移行の流れは、以下のようになります。

1. 影舞 0.7 の動作確認
2. bin/migrate.rb を設定する
3. bin/migrate.rb を実行してデータを移行
4. 移行したデータのパーミッションを変更

migrate.rb によって、プロジェクトの設定と、バグのレポートのデータが 0.8 用に取り込まれます。ただし、kagemai.rhtml のカスタマイズなどは取り込まれません。 0.8 へ移行後、必要に応じてカスタマイズしてください。

## 影舞 0.7 の動作の確認

0.8 をインストールする際に、0.7 がインストールされてたディレクトリの名前を変更した場合には、 そのままでは 0.7 が動作しなくなっています。

global.rb の RootDir と、kagemai.rhtml の kagemai_root を修正し、 0.7 が動作することを確認してください。

## migrate.rb の設定

migrate.rb の以下の変数を設定する必要があります。 0.8 をインストールしたディレクトリにあわせて、修正してください。

kagemai_root | 影舞 0.8 の lib ディレクトリがあるディレクトリ。 kagemai.rb が、/usr/local/kagemai/lib/kagemai/kagemai.rb にある場合には、/usr/local/kagemai と指定する。
config_file | kagemai.conf のパス。 /var/www/html/kagemai/kagemai.conf など。
old_lib | 影舞 0.7 の global.rb のあるディレクトリ。

install_ja.rb でインストールした場合には、old_lib 以外はすでに正しい値が設定済みです。

## データの移行

migrate.rb を実行します。 必要な変数がすべて設定されていれば、0.7 に登録されていたすべてのプロジェクトのデータが 0.8 に移行されます。

レポート数 100 のプロジェクト test1 と、レポート数 45 の test2、 レポート数 5000 の test3、 レポート数 10000 の test4 がある場合の実行例を示します。

レポート数が多い場合には、それなりに時間がかかります。

      $ ./migrate.rb
      OLD VERSION = 0.7.1
      extracting test1(100 reports)
      ..
      extracting test2(45 reports)
      .
      extracting test3(5000 reports)
      ..............................................................................
      ......................
      extracting test4(10000 reports)
      ..............................................................................
      ..............................................................................
      ............................................

      NEW VERSION = 0.8.0 (Youko)
      migrate test1
      ..
      migrate test2
      .
      migrate test3
      ..............................................................................
      ......................
      migrate test4
      ..............................................................................
      ..............................................................................
      ............................................

## パーミッションの設定

パーミッションを正しく設定しないと、 新規レポートやメッセージの追加ができない可能性があります。 0.8 のプロジェクトディレクトリを確認して、必要であればパーミッションを変更してください。

      # chgrp -R kagemai project
      # chmod -R 02770 project