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文を実行する。
どう?