Bom dia a todos,
Estou fazendo a sincronização de um bando, e possuo algumas tabelas que está relacionadas (porém este relacionamento as vezes é fraco, pois pode estar rodando em um banco com MySQL do tipo MyISAM).
Pois bem, tenho as seguintes tabelas:
tb_pedido
tb_pedido_item (onde tem o id_pedido como FK)
tb_pedido_item_x_opcao (onde tem o id_pedido_item como FK)
O sincronismo ocorre da seguinte maneira:
Tenho um banco GLOBAL (server), e milhares de bancos móveis (cada vendedor é um banco móvel)
Quando o vendedor clicar em sincronizar, eu pego o que tem no banco dele, das 3 tabelas que citei e mando para o banco remoto, sem duplicar os ids, após mandar apago tudo e copio pro banco do vendedor denovo.
Veja o esboço:
[code]while(tem pedido no pc do vendedor)
{
if(pedido existe)
{
// Altera
// Verifica se mudou na tb_pedido_item
while(tem pedido_item no pc do vendedor)
{
if(pedido_item existe)
{
// Altera
}
else
{
// Insere e pega o novo ID
// Verifica se tem pedido_item_x_opcao no pc do vendedor
if(pedido_item_x_opcao existe)
{
// Altera
}
else
{
// Insere
}
}
}
}
else
{
// Insere e pega o novo ID
// Verifica se mudou na tb_pedido_item
while(tem pedido_item no pc do vendedor)
{
if(pedido_item existe)
{
// Altera
}
else
{
// Insere e pega o novo ID
// Verifica se tem pedido_item_x_opcao no pc do vendedor
if(pedido_item_x_opcao existe)
{
// Altera
}
else
{
// Insere
}
}
}
}
}[/code]
Ai está, mas estou com problemas na hora de inserir e tal, problemas em manipular os resultsets…
Gostaria de saber se vocês possuem uma idéia melhor para isso, para facilitar este sincronismo?
Qualquer idéia é bem vinda!