Пример #1
0
 function get()
 {
     set_time_limit(0);
     $old = dsn(array('name' => 'DBconvertEUC', 'charset' => 'eucjp', 'prefix' => 'PRESIDENT_'));
     $new = dsn(array('name' => 'DBconvertUTF8_Pr', 'charset' => 'utf8', 'prefix' => 'PRESIDENT_'));
     $DB_Src = DB::singleton($old);
     $DB_Dst = DB::singleton($new);
     $table = 'user';
     // news, newsText, comment, tag
     $SQL = SQL::newSelect($table);
     $q = $SQL->get($old);
     $DB_Src->query($q, 'fetch');
     while ($news = $DB_Src->fetch($q)) {
         $SQL = SQL::newInsert($table);
         foreach ($news as $key => $val) {
             //---------------------------
             // euc-jp → sjis-win → utf-8
             $val = mb_convert_encoding(mb_convert_encoding($val, "sjis-win", "EUC-JP"), "UTF-8", "sjis-win");
             $SQL->addInsert($key, $val);
         }
         $q2 = $SQL->get($new);
         $DB_Dst->query($q2, 'exec');
     }
     die('ok');
 }
Пример #2
0
 function get()
 {
     set_time_limit(0);
     $old = dsn(array('name' => 'DBkeeper2'));
     $BID = 12;
     $DB_Src = DB::singleton($old);
     $DB_Dst = DB::singleton(dsn());
     $SQL = SQL::newSelect('entry');
     $SQL->setOrder('entry_id', 'ASC');
     $q = $SQL->get($old);
     $DB_Src->query($q, 'fetch');
     while ($entry = $DB_Src->fetch($q)) {
         $eid = $entry['entry_id'];
         $neid = intval($DB_Dst->query(SQL::nextval('entry_id', dsn()), 'seq'));
         //-------
         // Entry
         $entry['entry_id'] = $neid;
         $entry['entry_category_id'] = $this->convertCategory($entry['entry_category_id']);
         $entry['entry_blog_id'] = $BID;
         $SQL = SQL::newInsert('entry');
         foreach ($entry as $key => $val) {
             $SQL->addInsert($key, $val);
         }
         $DB_Dst->query($SQL->get(dsn()), 'exec');
         //-------
         // Unit
         $SQL = SQL::newSelect('column');
         $SQL->addWhereOpr('column_entry_id', $eid);
         $all = $DB_Src->query($SQL->get($old), 'all');
         foreach ($all as $unit) {
             $ncid = intval($DB_Dst->query(SQL::nextval('column_id', dsn()), 'seq'));
             $unit['column_id'] = $ncid;
             $unit['column_entry_id'] = $neid;
             $unit['column_blog_id'] = $BID;
             $SQL = SQL::newInsert('column');
             foreach ($unit as $key => $val) {
                 $SQL->addInsert($key, $val);
             }
             $DB_Dst->query($SQL->get(dsn()), 'exec');
         }
         //---------
         // Comment
         $SQL = SQL::newSelect('comment');
         $SQL->addWhereOpr('comment_entry_id', $eid);
         $all = $DB_Src->query($SQL->get($old), 'all');
         foreach ($all as $comment) {
             $ncid = intval($DB_Dst->query(SQL::nextval('comment_id', dsn()), 'seq'));
             $comment['comment_id'] = $ncid;
             $comment['comment_entry_id'] = $neid;
             $comment['comment_blog_id'] = $BID;
             $SQL = SQL::newInsert('comment');
             foreach ($comment as $key => $val) {
                 $SQL->addInsert($key, $val);
             }
             $DB_Dst->query($SQL->get(dsn()), 'exec');
         }
         //---------
         // Comment
         $SQL = SQL::newSelect('tag');
         $SQL->addWhereOpr('tag_entry_id', $eid);
         $all = $DB_Src->query($SQL->get($old), 'all');
         foreach ($all as $tag) {
             $tag['tag_entry_id'] = $neid;
             $tag['tag_blog_id'] = $BID;
             $SQL = SQL::newInsert('tag');
             foreach ($tag as $key => $val) {
                 $SQL->addInsert($key, $val);
             }
             $DB_Dst->query($SQL->get(dsn()), 'exec');
         }
     }
     die('ok');
 }