array( "from" => dirname(__FILE__) . "/" . $mpbnFolder . "/resources/db/postgresql/utf8/pgsql_data.sql", "to" => dirname(__FILE__) . "/" . $mpbnFolder . "/resources/db/mysql/utf8/mysql_data.sql") ); function saveAsFile($filename, $data) { if ($h = fopen($filename, "w")) { if (!fwrite($h, $data)) { return false; } fclose($h); } return true; } // load file $from = $fileArray["mysql"]["from"]; $to = $fileArray["mysql"]["to"]; if (file_exists($from)) { $data = file_get_contents($from); } else { echo "Fatal error: File not found ('" . $from . "').\n"; exit(1); } // replace postgresql's string escape syntax $pattern = "/, E'/"; $data = preg_replace($pattern, ", '", $data); // disable foreign keys $pattern = "/UPDATE pg_catalog\.pg_class SET reltriggers = 0;/"; if (preg_match($pattern, $data)) { $data = preg_replace($pattern, "SET FOREIGN_KEY_CHECKS=0;", $data); } else { echo "Fatal error: Didn't find expression (pattern: " . $pattern . ").\n"; exit(1); } // enable foreign keys $pattern = "/UPDATE pg_catalog\.pg_class SET reltriggers = \(SELECT pg_catalog\.count\(\*\) FROM pg_catalog\.pg_trigger where pg_class\.oid = tgrelid\);/"; if (preg_match($pattern, $data)) { $data = preg_replace($pattern, "SET FOREIGN_KEY_CHECKS=1;", $data); } else { echo "Fatal error: Didn't find expression (pattern: " . $pattern . ").\n"; exit(1); } // save mysql file if (!saveAsFile($to, $data)) { echo "Fatal error: File could not be saved ('" . $to . "').\n"; exit(1); } echo "Finished.\n\n"; exit(0); ?>