mishimaの日記: Redmine のデータ移設(SQLite → MySQL)
Debian的に正しい手法(パッケージで提供されているファイルを変更しない)で、データをダンプする手順がわかりにくかったので、きちんと書き留めておく。
1. yaml_db をインストール
# aptitude install ruby-yaml-db
2. 適当なディレクトリに redmine をコピー
% rsync -aSvx /usr/share/redmine/ /tmp/redmine/
3. その中に yaml_db を入れる
% rsync -aSvx /usr/lib/ruby/vendor_ruby/tasks/ /tmp/redmine/lib/tasks/.
4. ダンプする。
% cd /tmp/redmine
% rake RAILS_ENV=production -r yaml_db db:dump
5. 移行先のデータベース情報に書き換える。
# vi /etc/redmine/default/database.yml
production:
adapter: mysql
database: redmine_default
host: localhost
port:
username: redmine_default
password: XXXXXXXXX
encoding: utf8
6. データをロードする。
% rake RAILS_ENV=production -r yaml_db db:load
「Rake には tasks という概念がある。それは lib/tasks の下に格納される」
「yaml_db はデータダンプの tasks である db:dump を提供する。それは単独では機能せず、 db:schema:dump を提供する他の tasks を組み合わせて使う」
「Redmineのホームディレクトリには Rakefile があって、いろいろな tasks を提供する。その中に db:schema:dump も含まれている」
このあたりの前提条件がわからないと、何をやったらいいかわからないよ〜
Redmine のデータ移設(SQLite → MySQL) More ログイン