Jump to content

DB transfer Two Servers


MasterSM

Recommended Posts

I am trying to transfer some data from one Servers DB to a new server with cleaner tables. When i run my code the transfer seems to be working but the script just keeps running and never give the desired responses. First it collects the data (for testing i limited results by 1) then checks to see if the app is in the new DB, if so then it updates its contents. If not then it adds it. It seems to work for both updates and inserts but i must still be missing something. Thanks for any help.

 

<?php
function getTime()
    {
    $a = explode (' ',microtime());
    return(double) $a[0] + $a[1];
    }
$Start = getTime(); 
######################################################################
$connection1 = mysql_connect('','','');
if (!$connection1){
   die('Could not connect: ' . mysql_error());
}
$db_selected1 = mysql_select_db('', $connection1);
if (!$db_selected1) {
    die ('Could not connect: ' . mysql_error());
}

//if(isset($_REQUEST['appcounting'])){
//$appcounting = ($_REQUEST['appcounting'] + 1);
//$appnext = 1;
//$appgroup = $appcounting + $appnext;
//echo "Checked app $appcounting-$appgroup.<br />\n";
//}
//else{
//$appcounting = 0;
//$appnext = 1;
//}

$count = 0;
$appinfo = mysql_query("SELECT app_id, ipayAppID, Status, MID, BusinessContactName, BusinessContactPhone, BusinessEmail, BusinessWebsite, BusinessName, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessTaxID, BusinessMailingAddress, BusinessMailingCity, BusinessMailingState, BusinessMailingZip, agent_id, CreateTime, StatusChangeTime, ReceiveTime, ReviewTime, PayrollApprovalTime, PayrollPayTime, ApproveTime, DeclineTime, CancelTime, CancelDesc, PendingTime, PendingDesc FROM app ORDER BY app_id DESC LIMIT 0, 1") or die('SELECT ' . mysql_error());
while($row = mysql_fetch_array($appinfo))
{
$app_id[] = $row['app_id'];
$ipayAppID[] = $row['ipayAppID'];
$Status[] = $row['Status'];
$MID[] = $row['MID'];
$BusinessContactName[] = $row['BusinessContactName'];
$BusinessContactPhone[] = $row['BusinessContactPhone'];
$BusinessEmail[] = $row['BusinessEmail'];
$BusinessWebsite[] = $row['BusinessWebsite'];
$BusinessName[] = $row['BusinessName'];
$BusinessAddress[] = $row['BusinessAddress'];
$BusinessCity[] = $row['BusinessCity'];
$BusinessState[] = $row['BusinessState'];
$BusinessZip[] = $row['BusinessZip'];
$BusinessTaxID[] = $row['BusinessTaxID'];
$BusinessMailingAddress[] = $row['BusinessMailingAddress'];
$BusinessMailingCity[] = $row['BusinessMailingCity'];
$BusinessMailingState[] = $row['BusinessMailingState'];
$BusinessMailingZip[] = $row['BusinessMailingZip'];
$agent_id[] = $row['agent_id'];
$CreateTime[] = $row['CreateTime'];
$StatusChangeTime[] = $row['StatusChangeTime'];
$ReceiveTime[] = $row['ReceiveTime'];
$ReviewTime[] = $row['ReviewTime'];
$PayrollApprovalTime[] = $row['PayrollApprovalTime'];
$PayrollPayTime[] = $row['PayrollPayTime'];
$ApproveTime[] = $row['ApproveTime'];
$DeclineTime[] = $row['DeclineTime'];
$CancelTime[] = $row['CancelTime'];
$CancelDesc[] = $row['CancelDesc'];
$PendingTime[] = $row['PendingTime'];
$PendingDesc[] = $row['PendingDesc'];
$count++;
}

mysql_close($connection1);
######################################################################
$connection2 = mysql_connect('','','');
if (!$connection2){
die('Could not connect: ' . mysql_error());
}
$db_selected2 = mysql_select_db('', $connection2);
if (!$db_selected2){
    die ('Could not connect: ' . mysql_error());
}


$number = 0;
$count_insert = 0;
while($number <= $count)
{
$findapp = $app_id[$number];
$one = mysql_query("SELECT AppID FROM Apps WHERE `AppID`='$findapp'") or die('FIND ' . mysql_error());
$num_rows = mysql_num_rows($one);
if ($num_rows == 1){
	$myBusinessContactName = $BusinessContactName[$number];
	$myBusinessContactName = addslashes($myBusinessContactName);
	$myBusinessName = $BusinessName[$number];
	$myBusinessName = addslashes($myBusinessName);
	$myBusinessCity = $BusinessCity[$number];
	$myBusinessCity = addslashes($myBusinessCity);
	$myBusinessMailingCity = $BusinessMailingCity[$number];
	$myBusinessMailingCity = addslashes($myBusinessMailingCity);
	$myPendingDesc = $PendingDesc[$number];
	$myPendingDesc = addslashes($myPendingDesc);
	$myCancelDesc = $CancelDesc[$number];
	$myCancelDesc = addslashes($myCancelDesc);
	$myBusinessAddress = $BusinessAddress[$number];
	$myBusinessAddress = addslashes($myBusinessAddress);
	$myBusinessMailingAddress = $BusinessMailingAddress[$number];
	$myBusinessMailingAddress = addslashes($myBusinessMailingAddress);

	mysql_query("UPDATE Apps SET `IpayAppID`='$ipayAppID[$number]', `Status`='$Status[$number]', `MID`='$MID[$number]', `ContactName`='$myBusinessContactName', `ContactPhone`='$BusinessContactPhone[$number]', `ContactEmail`='$BusinessEmail[$number]', `ContactWebsite`='$BusinessWebsite[$number]', `DBA`='$myBusinessName', `BusinessAddress`='$myBusinessAddress', `BusinessCity`='$myBusinessCity', `BusinessState`='$BusinessState[$number]', `BusinessZip`='$BusinessZip[$number]', `BusinessTaxID`='$BusinessTaxID[$number]', `MailingAddress`='$myBusinessMailingAddress', `MailingCity`='$myBusinessMailingCity', `MailingState`='$BusinessMailingState[$number]', `MailingZip`='$BusinessMailingZip[$number]', `Agent1ID`='$agent_id[$number]', `CreateTime`='$CreateTime[$number]', `StatusChangeTime`='$StatusChangeTime[$number]', `ReceivedTime`='$ReceiveTime[$number]', `ReviewedTime`='$ReviewTime[$number]', `PayrollApprovalTime`='$PayrollApprovalTime[$number]', `PayrollPayTime`='$PayrollPayTime[$number]', `ApproveTime`='$ApproveTime[$number]', `DeclineTime`='$DeclineTime[$number]', `CancelTime`='$CancelTime[$number]', `CancelDesc`='$myCancelDesc', `PendingTime`='$PendingTime[$number]', `PendingDesc`='$myPendingDesc' WHERE AppID='$app_id[$number]'") or die('UPDATE ' . mysql_error());
	$number++;
}
elseif(isset($app_id[$number]) && isset($BusinessName[$number])){
	echo "Transfered App $findapp<br />\n";
	$myBusinessContactName = $BusinessContactName[$number];
	$myBusinessContactName = addslashes($myBusinessContactName);
	$myBusinessName = $BusinessName[$number];
	$myBusinessName = addslashes($myBusinessName);
	$myBusinessCity = $BusinessCity[$number];
	$myBusinessCity = addslashes($myBusinessCity);
	$myBusinessMailingCity = $BusinessMailingCity[$number];
	$myBusinessMailingCity = addslashes($myBusinessMailingCity);
	$myPendingDesc = $PendingDesc[$number];
	$myPendingDesc = addslashes($myPendingDesc);
	$myCancelDesc = $CancelDesc[$number];
	$myCancelDesc = addslashes($myCancelDesc);
	$myBusinessAddress = $BusinessAddress[$number];
	$myBusinessAddress = addslashes($myBusinessAddress);
	$myBusinessMailingAddress = $BusinessMailingAddress[$number];
	$myBusinessMailingAddress = addslashes($myBusinessMailingAddress);

	mysql_query("INSERT INTO Apps (AppID, IpayAppID, Status, MID, ContactName, ContactPhone, ContactEmail, ContactWebsite, DBA, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessTaxID, MailingAddress, MailingCity, MailingState, MailingZip, Agent1ID, CreateTime, StatusChangeTime, ReceivedTime, ReviewedTime, PayrollApprovalTime, PayrollPayTime, ApproveTime, DeclineTime, CancelTime, CancelDesc, PendingTime, PendingDesc) VALUES ('$app_id[$number]', '$ipayAppID[$number]', '$Status[$number]', '$MID[$number]', '$myBusinessContactName', '$BusinessContactPhone[$number]', '$BusinessEmail[$number]', '$BusinessWebsite[$number]', '$myBusinessName', '$myBusinessAddress', '$myBusinessCity', '$BusinessState[$number]', '$BusinessZip[$number]', '$BusinessTaxID[$number]', '$myBusinessMailingAddress', '$myBusinessMailingCity', '$BusinessMailingState[$number]', '$BusinessMailingZip[$number]', '$agent_id[$number]', '$CreateTime[$number]', '$StatusChangeTime[$number]', '$ReceiveTime[$number]', '$ReviewTime[$number]', '$PayrollApprovalTime[$number]', '$PayrollPayTime[$number]', '$ApproveTime[$number]', '$DeclineTime[$number]', '$CancelTime[$number]', '$myCancelDesc', '$PendingTime[$number]', '$myPendingDesc')") or die('INSERT ' . mysql_error());
	$number++;
	$count_insert++;
}
}


if($count_insert == 0){
echo "All apps have been found.<br />\n";
exit;
}

mysql_close($connection2);
######################################################################
$End = getTime();
echo "Time taken = ".number_format(($End - $Start),2)." secs<br />\n";
//header('Refresh: 60; url=transfer_apps.php?appcounting=$appcounting');

?>

Link to comment
Share on other sites

From what I understand (I did not read your code), you're trying to move data from one server to another, but you're selecting specific content and also changing some fields?

 

I would create a table called 'oldDump' or something and import the whole thing (like thorpe suggested), then do a script to clean it up before copying to new table.

 

I guess it depends on how many records/database size we're talking about. is it in the 'many millions of records' category?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.