Trac0.9.4 + SQLite2 => Trac0.11.2.1 + SQLite3

Tracを移行する必要があり、よい機会なのでバージョンを上げることにしました。
結果メジャーバージョンを2つ、SQLiteも 2 => 3 にしました。


まずは Subversion を移行します。
1. 旧リポジトリのバックアップ

export PROJECT=リポジトリ名
svnadmin dump /path/to/svn/$PROJECT > $PROJECT.svn.dump

2. 新リポジトリにリストア

export PROJECT=リポジトリ名
ftp $PROJECT.svn.dump
sudo svnadmin load /path/to/svn/$PROJECT < $PROJECT.svn.dump


次に Trac を移行します。
3. 旧Tracのバックアップ

export PROJECT=リポジトリ名
trac-admin /path/to/trac/$PROJECT hotcopy ./$PROJECT

4. SQLiteを 2=>3 にマイグレーション

cd $PROJECT/db
mv trac.db trac2.db
sqlite trac2.db .dump | sqlite3 trac.db
cd ../../
tar cvfz ${PROJECT}.tgz $PROJECT

5. 新Tracへリストア

cd /path/to/trac
export PROJECT=プロジェクト名
ftp ${PROJECT}.tgz
tar xvfz ${PROJECT}.tgz
rm ${PROJECT}.tgz
sudo trac-admin /path/to/trac/${PROJECT} upgrade

6. リポジトリと同期を取る

sudo trac-admin /path/to/trac/${PROJECT} resync

7. Webサーバを再起動

sudo /path/to/apache2/bin/apachectl restart