OpenPNE1.8→2.0のDBコンバータ

ちょっと公開が遅れてしまったのですが、
OpenPNE1.8→2.0

DBコンバータを公開でっす〜www

http://docs.openpne.jp/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9
の↓から
http://docs.openpne.jp/?plugin=attach&refer=%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9&openfile=sjis2utf8.zip

■概要
OpenPNE2.0から、DBの文字コードがUTF8となりました。
このスクリプトは以下のような作業を行います。

 [SJISのDB]
    |
 SJISデータ
    ↓
 このスクリプト
    |
 UTF8データ
    ↓
 [UTF8のDB] 

この際、SJISバイナリとして保存されている携帯絵文字は、
UTF8の数値文字参照(&#XXXX; 形式)として変換され、保存されます。

なお、SJISのDBには変更を加えません。

■同梱ファイルの説明

   mysql_conn_conv.php ---- プログラム本体
   emoji.php           ---- 携帯絵文字変換ライブラリ
   (同じディレクトリに設置する)

■注意事項
- PEAR::DB が必要です。Pearライブラリのパスは、各々の環境で設定してください。
- PEARライブラリのパスが不明な場合は、OpenPNEに同梱されているライブラリが使用可能です。
- UTF8のDBではあらかじめ CREATE TABLE を実行しておいてください。
- このスクリプトは、SJIS(マルチバイト)データの入ったテーブルだけを走査対象としています。
  SJISデータのないテーブルは、別途ダンプ+流し込みを行ってください。
- このスクリプトの使用にあたっては、本番データを壊さないように十分注意して行って下さい。
- このスクリプトは自己責任で使用してください。スクリプトを使用した事によって起こった
 データの損失・破損について配布元は責任を負いません。

■使用例(1.8→2.0へのDBコンバージョン)

1. UTF8のDBを新規作成する。
    $ mysqladmin -u root -p create UTF-DB
2. SJISのDBからテーブルの構造をダンプし、UTF8のDBにテーブルを作成する)
    $ mysqldump --opt -u USER -p -d SJIS-DB > create_table.sql
    $ mysql -u USER -p UTF-DB < create_table.sql
3. このスクリプトのDB設定を編集する。(sjis,utf8のDB2箇所あるので漏れがないようにすること)
4. 編集したスクリプトを実行する。
    $ /usr/local/bin/php -f mysql_conn_conv.php
5. SJISのDBから非マルチバイトデータをDUMPする。
   一般的なOpenPNE1.8のデータならば、以下の例でDUMPできると思います。
    $ mysqldump --opt -t -u USER -p DBNAME \
      c_access_log c_access_block c_admin_user c_ashiato c_banner_log c_bookmark c_commu_member \
      c_commu_review c_event_member c_image c_invite c_ktai_address_pre \
      c_member_ktai_pre c_member_secure c_pc_address_pre c_review_clip c_sns_config \
      > not_sjis_table.dump.sql
6. 4でダンプした非マルチバイトデータをUTF8のDBにインポート
    $ mysql -u USER -p DBNAME < not_sjis_table.dump.sql
7. OpenPNE2.0のアップグレードSQL文を実行する。

どう?