« 「チェンジ・ザ・ルール」の感想 | トップページ | チケット駆動開発の感想のリンク »

2014/11/19

yaml_dbを使ってRedmineのDB移行を行う方法

yaml_dbを使ってRedmineのDB移行を行う方法をメモ。

【参考】
Redmineで使うデータベースを変更する | Redmine.JP Blog

RedmineのDBをyml化してバックアップ - Qiita

yaml_dbでMySQLからPostgreSQLに移行した - @znz blog

akipiiさんはTwitterを使っています: "#redmineT redmine にはmantis やtracのチケットをrakeコマンドでインポートできるインターフェースがある。流用できないか?"

nobu_toyofukuさんはTwitterを使っています: "@akipii #redmineT yaml_db を参考に指定したプロジェクトを YAML形式で dump/load(整合性も考慮。添付ファイルも考慮)するプラグインを作っていたことがあります。バグを取りきれずに公開にいたりませんせんでしたが orz。"

RedmineのDBをsqliteからMySQLへ移行 - メモ(仮)

【1】そもそも、yaml_dbとは何なのか?

(引用開始)
Redmineで使用するデータベースはMySQL, SQLite, PostgreSQLから選択可能です。このうちSQLiteは導入が簡単で手軽に使い始めることができますが、本格的な運用を始めるとパフォーマンスが問題になってきて、MySQL等に移行したくなる場合があります。

このようなときに利用できるのが yaml_db というRailsプラグインです。yaml_dbを使うと、RedmineなどRuby on Railsベースのアプリケーションのデータベースの内容をYAML形式のファイルに書き出すこと、そしてYAML形式のファイルに書き出した内容をデータベースに取り込むことができます。移行元のデータベースの内容をファイルに書き出し、移行先のデータベースに取り込めば、異なる種類のデータベースに切り替えることができます。
(引用終了)

【2】yaml_dbでMySQLからPostgreSQLに移行した - @znz blogによると、下記の方法がある。

(引用開始)
1.まず RAILS_ENV=production bundle exec rake db:data:dump で db/data.yml を作成します。
2.つぎに Ruby や Rails や Redmine のバージョンはそのままで config/database.yml を変更します。
3.必要に応じて bundle でデータベースアダプターの gem をインストールします。
4.データベースの作成をしたり db:migrate をしておきます。
5.RAILS_ENV=production bundle exec rake db:data:load で読み込みます。
(引用終了)

【3】yaml_dbは、そもそもRedmineのDBをSQLiteからMySQLやPostgersSQLへ移行したい用途に使う。
しかし、それ以外のDB移行作業で使えるだろう。

例えば、第7回Redmine.tokyo勉強会の事例発表であったように、複数のRedmineサーバーのDBを統合したい場合、双方のDBをyaml_dbで出力し、yaml_dbというテキストファイルをマージしたり修正して、インポートし直す方法も考えられる。
yaml_dbを使う利点は、rakeインターフェイスがあるのでコマンド1個で簡単にインポートできること、yaml_dbというテキストファイルを正規表現で操作しやすい点があるかもしれない。

個人的には、Redmineにrakeインターフェイスがあるという特徴は、いろんな場面で使えると思っている。
つまり、rakeインターフェイスをバッチ処理化することで、RedmineのDBやファイルの一括操作、メール一括送信が可能になることだ。

例えば、前ユーザのパスワードの一括リセットや、新規ユーザ・新規チケットの一括登録、他システムからのデータの一括インポート、期日間近のチケットを出力して警告メール送信、など、色んな使い方が考えられる。
すなわち、バッチ処理はrakeコマンドで実装して、汎用的に使いやすいインターフェイスにした方がいい。

他にも色々考えてみる。

|

« 「チェンジ・ザ・ルール」の感想 | トップページ | チケット駆動開発の感想のリンク »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 「チェンジ・ザ・ルール」の感想 | トップページ | チケット駆動開発の感想のリンク »