読者です 読者をやめる 読者になる 読者になる

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走らせる。いやけっきょくうまくいかずに諦めたので無駄知識に終わってしまったけど。