MT/3.3のデータをPostgreSQLからMySQLへ移行する
MySQL上にスキーマを作成
データベースを作成する。
$ echo 'create database mt;' | mysql
MySQLを見るように修正する。
$ vi mt/mt-config.cgi
SQLを作成
PostgreSQLのデータを -a, -Dオプション付きでダンプする。
$ pg_dump -a -D mt > mt.dump
冒頭のSET文、SELECT文を全て削除する。
$ sed -e 's/^\(SET\|SELECT\) .*//' -i mt.dump
初期データを削除する。
$ grep -e '^INSERT INTO' mt.dump | sed 's/INSERT INTO \([^ ]*\).*/\1/' | sort | uniq
として得られたテーブル全てに対し、
mysql> delete from テーブル
を実行。
移行
$ mysql mt< mt.dump