diff --git a/webapp/controller/TempToolsController.class.php b/webapp/controller/TempToolsController.class.php index 9138eba5..f99b3af5 100644 --- a/webapp/controller/TempToolsController.class.php +++ b/webapp/controller/TempToolsController.class.php @@ -873,4 +873,52 @@ EOD; ); } + public function dumpSqlMigrate() + { + $conn = $this->_getMysql(''); + $heroSql = $this->dumpMigrateTable($conn, 't_hero', 'gamedb2006_tmp_1.t_hero_bk', 'WHERE activate=1'); + $mailSql = $this->dumpMigrateTable($conn, 't_mail', 'gamedb2006_tmp_1.t_mail_bk', ''); + $goldBullionSql = $this->dumpMigrateTable($conn, 't_gold_bullion', 'gamedb2006_tmp_1.t_gold_bullion_bk', ''); + echo $heroSql; + echo '
'; + echo '
'; + echo $mailSql; + echo '
'; + echo '
'; + echo $goldBullionSql; + } + + private function dumpMigrateTable($conn, $trgTblName, $srcTblName, $whereSql) + { + $Fields = $conn->execQuery("show columns from ${trgTblName}"); + $inited = false; + $sql = "INSERT INTO ${trgTblName} ("; + foreach ($Fields as $field) { + if ($field['Field'] == 'idx') { + continue; + } + if (!$inited) { + $inited = true; + $sql .= $field['Field']; + } else { + $sql .= ',' . $field['Field']; + } + } + $sql .= ') SELECT '; + $inited = false; + foreach ($Fields as $field) { + if ($field['Field'] == 'idx') { + continue; + } + if (!$inited) { + $inited = true; + $sql .= $field['Field']; + } else { + $sql .= ',' . $field['Field']; + } + } + $sql .= " FROM ${srcTblName} " . $whereSql . ";"; + return $sql; + } + }