Migrador automático de contas .
Estou postando aqui um migrador que acabei de fazer para migrar um banco de dados para outro, recomendado para quem quer trocar de versão, to postando aqui porque se não eu deleto e quando vai ver preciso de novo e tenho que fazer tudo outra vez.
Ele migra conta, char, inventario, bau, e bau extras, etc etc...
Ele não migar guilds, achei desnecessário.
para usar o banco de dados MuOnline não pode ave nenhuma conta.
criar um banco de dados com nome MuOnline2 com todas as contas. e crie uma tabela na memb_info com nome migrado default 0.
abra a pagina no navegador e espere migrar tudo.
versão testada 1.0m >> season 2 total 5487 migradas em 5 minutos sem nenhum problema.
não adicionei nele registro na VI_CURR_INFO porque não precisei.
Código PHP:
<?php
/////////////////////////////////////////////////////////////////////////////////
// migrado de contas by : LucasHz skype: lucass.lopes0893
/////////////////////////////////////////////////////////////////////////////////
function Connect(){
$connect = @mssql_connect("localhost", "sa", "1234");
$connect_db = @mssql_select_db("MuOnline", $connect);
return $connect;
}
Connect();
function migra(){
$ver = mssql_num_rows(mssql_query("SELECT TOP 1 * FROM MuOnline2.dbo.MEMB_INFO WHERE migrado = '0' order by memb___id desc"));
if($ver == 0){ return false;}
$haha = mssql_query("SELECT TOP 1 * FROM MuOnline2.dbo.MEMB_INFO WHERE migrado = '0' order by memb___id desc");
while($query = mssql_fetch_array($haha)){
$login = $query[memb___id];
//migra conta
if(mssql_query("INSERT INTO MuOnline.dbo.MEMB_INFO (memb___id,memb__pwd,memb_name,mail_addr,fpas_ques,fpas_answ,sno__numb,bloc_code,ctl1_code,post_code,addr_info,tel__numb,phon_numb,addr_deta,mail_chek,cash,vip,datebegin,dateend,dateEndInteger) VALUES
('$query[memb___id]', '$query[memb__pwd]', '$query[memb_name]', '$query[mail_addr]', '$query[fpas_ques]', '$query[fpas_answ]', '1', '0', '1', '1234', '1111', '12343', '0000-0000', '', '1', '$query[cash]', '$query[vip]', '$query[dateBegin]', '$query[dateEnd]', '$query[dateEndInteger]') ")){
$criar = mssql_num_rows(mssql_query("SELECT * FROM MuOnline2.dbo.AccountCharacter WHERE Id = '{$login}'"));
if($criar > 0){
$char = mssql_fetch_array(mssql_query("SELECT * FROM Muonline2.dbo.AccountCharacter WHERE Id = '{$login}'"));
if(mssql_query("INSERT INTO MuOnline.dbo.AccountCharacter (Id,GameID1,GameID2,GameID3,GameID4,GameID5,GameIDC,MoveCnt) VALUES
('$char[Id]','$char[GameID1]','$char[GameID2]','$char[GameID3]','$char[GameID4]','$char[GameID5]','$char[GameIDC]','$char[MoveCnt]')")){
echo "AccountCharacter migrada com sucesso! <br />";
}
}
// MINGRA OS CHAR DA CHARACTER
if(mssql_query("INSERT INTO MuOnline.dbo.Character(AccountID, Name, cLevel, LevelUpPoint, Class, Experience, Strength, Dexterity, Vitality, Energy, Inventory, MagicList, Money, Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY, MapDir, PkCount, PkLevel, PkTime, MDate, LDate, CtlCode, DbVersion, Quest, Leadership, ChatLimitTime, FruitPoint, Resets) SELECT AccountID, Name, cLevel, LevelUpPoint, Class, Experience, Strength, Dexterity, Vitality, Energy, Inventory, MagicList, Money, Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY, MapDir, PkCount, PkLevel, PkTime, MDate, LDate, CtlCode, DbVersion, Quest, Leadership, ChatLimitTime, FruitPoint, Resets from [MuOnline2].[dbo].[character] where AccountID = '$login'")){
echo "Todos os char foi migrado com sucesso!<br />";
}
//MIGRA OS BAUS
if(mssql_query("INSERT INTO MuOnline.dbo.warehouse(AccountID, Items, Money, EndUseDate, DbVersion, pw) SELECT AccountID, Items, Money, EndUseDate, DbVersion, pw from [MuOnline2].[dbo].[warehouse] where AccountID = '$login'")){
echo "Todos os baus principais migrado com sucesso!<br />";
}
//MIGRA OS BAUS EXTRAS
if(mssql_query("INSERT INTO MuOnline.dbo.Extwarehouse(VaultID, AccountID, Items, EndUseDate, DbVersion, Money, pw) SELECT VaultID, AccountID, Items, EndUseDate, DbVersion, Money, pw from [MuOnline2].[dbo].[Extwarehouse] where AccountID = '$login'")){
echo "Todos os baus extras migrado com sucesso!<br />";
}
mssql_query("UPDATE MuOnline2.dbo.MEMB_INFO SET migrado = 1 WHERE memb___id = '{$login}'");
echo "migrando conta : {$login}";
return true;
}else{
return false;
}
}
}
if(migra()){
echo '<meta http-equiv="refresh" content="0.1; URL=index.php">';
}else{
echo "tudo migrado";
}
?>