コード例 #1
0
 protected function extract($sql)
 {
     $schemaname = __CLASS__;
     $sql = rtrim($sql, ';');
     $sql = "DROP DATABASE IF EXISTS {$schemaname};\nCREATE DATABASE {$schemaname};\nUSE {$schemaname};\n{$sql};";
     $this->query($sql);
     $xml = mysql5::extract_schema($this->conn->get_dbhost(), $this->conn->get_dbport(), $schemaname, $this->conn->get_dbuser(), $this->conn->get_dbpass());
     $dbdoc = simplexml_load_string($xml);
     foreach ($dbdoc->schema as $schema) {
         if (strcmp($schema['name'], $schemaname) == 0) {
             if (static::DEBUG) {
                 echo "Got schema:\n" . $schema->asXML() . "\n";
             }
             return $schema;
         }
     }
     echo $dbdoc->asXML() . "\n";
     throw new exception("No schema named {$schemaname} was found!?");
 }