54 lines
1.8 KiB
PHP
54 lines
1.8 KiB
PHP
<?php
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', true);
|
|
|
|
|
|
/********************* START CONFIGURATION *********************/
|
|
$DB_SRC_HOST='127.0.0.1';
|
|
$DB_SRC_USER='stephan';
|
|
$DB_SRC_PASS='plusdata';
|
|
$DB_SRC_NAME='ms1inscriptiondev';
|
|
$DB_DST_HOST='127.0.0.1';
|
|
$DB_DST_USER='stephan';
|
|
$DB_DST_PASS='plusdata';
|
|
$DB_DST_NAME='ms1inscriptiondev_bbk';
|
|
|
|
/*********************** GRAB OLD SCHEMA ***********************/
|
|
$db1 = mysql_connect($DB_SRC_HOST,$DB_SRC_USER,$DB_SRC_PASS) or die(mysql_error());
|
|
mysql_select_db($DB_SRC_NAME, $db1) or die(mysql_error());
|
|
$result = mysql_query("SHOW TABLES;",$db1) or die(mysql_error());
|
|
$buf="set foreign_key_checks = 0;\n";
|
|
$constraints='';
|
|
while($row = mysql_fetch_array($result))
|
|
{
|
|
$result2 = mysql_query("SHOW CREATE TABLE ".$row[0].";",$db1) or die(mysql_error());
|
|
$res = mysql_fetch_array($result2);
|
|
if(preg_match("/[ ]*CONSTRAINT[ ]+.*\n/",$res[1],$matches))
|
|
{
|
|
$res[1] = preg_replace("/,\n[ ]*CONSTRAINT[ ]+.*\n/","\n",$res[1]);
|
|
$constraints.="ALTER TABLE ".$row[0]." ADD ".trim($matches[0]).";\n";
|
|
}
|
|
$buf.=$res[1].";\n";
|
|
}
|
|
$buf.=$constraints;
|
|
$buf.="set foreign_key_checks = 1";
|
|
|
|
|
|
/**************** delete NEW DB WITH OLD SCHEMA ****************/
|
|
$db2 = mysql_connect($DB_DST_HOST,$DB_DST_USER,$DB_DST_PASS) or die(mysql_error());
|
|
$sql = 'DROP DATABASE '.$DB_DST_NAME;
|
|
if(!mysql_query($sql, $db2)) echo(mysql_error());
|
|
mysql_select_db($DB_DST_NAME, $db2);
|
|
/**************** CREATE NEW DB WITH OLD SCHEMA ****************/
|
|
|
|
$sql = 'CREATE DATABASE '.$DB_DST_NAME;
|
|
if(!mysql_query($sql, $db2)) die(mysql_error());
|
|
mysql_select_db($DB_DST_NAME, $db2) or die(mysql_error());
|
|
$queries = explode(';',$buf);
|
|
print_r($queries);
|
|
foreach($queries as $query)
|
|
if(!mysql_query($query, $db2)) die(mysql_error());
|
|
|
|
|
|
|
|
?>
|