TracからRedmineへデータを移行するにあたってのメモ
ドはまりしてしまった。これで一日潰しちゃったよ、Rubyむつかしい…。
別サーバにあるTracからRedmineへデータを移行する手順 - とあるアプリデベロッパの備忘録ノート
TracからRedmineへデータを移行するにあたって参考にさせていただきました。sqliteから移行するときについて、いくつか注意点があったので 備忘メモ。
sqlite-develが必要
gem install 'sqlite3' する前に、 yum install sqlite-devel が必要。 あと、 gem install activerecord-jdbcsqlite3-adapter も要る。
存在しない activerecord-sqlite3-adapter をインストールしろと怒られる
rake aborted! LoadError: Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it to Gemfile.)
こんな感じのエラーが出る件について。
- rubyは2.0以下の方がよい? 未検証ですが、ruby 2.1でダメで、2.0でもダメで、最終的にRuby 1.9.3-p545 で移行に成功しました。2.1.1では13行出ていたエラーが 2.0.0、1.9.3では5行に減った。
- database.yml が鍵かもしれない。最初、database.yml には production: しか書いていなかったのだが、(使わないけど)ダミーの development:と test: を足して、 test:の adapterを sqlite3にしたら コンバートが通った。
こんな感じ。
production: adapter: mysql2 database: db_redmine host: localhost username: redmine_user password: password encoding: utf8 development: adapter: mysql2 database: db_redmine host: localhost username: redmine_user password: password encoding: utf8 test: adapter: sqlite3 database: db/redmine.sqlite3
パッケージに同梱されていた database.yml.example の sqlite3の記述そのまま。
移行スクリプトは
# rake redmine:migrate_from_trac RAILS_ENV="production"
みたいに指定しているので testは意味ないのかと思ってたが、そうでもないのかな?
以上、メモはここまで。
移行元が Trac Lightning 2.0.4 (Windows版、Trac 0.11.ja1)、
移行先が Redmine 2.5.0 (CentOS6.5/さくらのクラウド)。
移行元は、sqliteの場合は db/trac.db (sqlite/sqlite3の場合) と attachments ディレクトリしか参照しないそうなので、移行先サーバに持って行くのはそれだけでOKかも。
移行先の「さくらのクラウド」は、アーカイブ選択で CentOS6.5 64bit、スタートアップスクリプトに LAMPを指定して
Redmine 2.5をCentOS 6.5にインストールする手順 | Redmine.JP Blog
を参考に 手動でRedmineをインストールしています。
最初はbitnamiで試して、つぎはスタートアップスクリプトのRedmineを試して、最終的に 手動インストールになりました。IaaSだとトライ&エラーが楽々なので有り難い。さくらさん素晴らしい。
ちなみにbitnamiの場合
/opt/redmine-2.5.0-0/ruby/bin/ruby bin/rake redmine:migrate_from_trac RAILS_ENV="production"
のようにしてrake走らせる。いやけっきょくうまくいかずに諦めたので無駄知識に終わってしまったけど。