Vc pode deixar a chave codigo (online_id por exemplo) apenas na aplicacao admin que vai rodar offline.
Se o off nao tem online_id .. durante o sincronismo .. cria e atualiza o off. Se tiver online_id .. verifica se tem de atualizar alguma coisa (acho q será em todas as tabelas, mas pode colocar so nas criticas e a partir da critica verificar o restante). Esse sincronismo pode ser feito via cron em backgroud (acho que dá pra setar no windows). Assim o on economiza recursos (espaco em banco é caro). Agora é por a mao na massa .. Em 06/06/2012 11:03, "Paulo Duarte" <[email protected]> escreveu: > Foi a linha que eu pensei em ser a mais completa. Vou ver o impacto disso > em todas as tabelas relacionadas. > Valeu as dicas. > > Abraço!! > > Em 6 de junho de 2012 10:58, Guilherme Maule > <[email protected]>escreveu: > >> Eu seguiria a mesma sugestão do Felipe. >> >> Criaria no banco off uma coluna que iria salvar o id do banco on! >> >> Faria o download dos dados do ON para o OFF, trabalharia com os dados do >> evento em off-line e apos o eventos subiria os dados checando se o ID que >> eu salvei no OFF ainda existe no ON. Se sim, salvaria por cima os dados e >> se não, criaria um novo id com os dados novos criados no OFF. >> >> Muito simples a operação! >> >> Em 6 de junho de 2012 10:55, felipe bastos <[email protected]>escreveu: >> >> Eu continuo com a mesma proposta .. >>> >>> O off vai ter de sincronizar com o on .. >>> >>> Se vc vai tirar o pc da net e vai levar para o local do evento sao >>> outros 500. >>> >>> O pc off pode ter todos os dados de todos os eventos .. o lance é quem >>> vai acessar ele durante o evento .. >>> >>> Sendo um funcionario .. ele vai entrar na tela do evento e vai >>> gerencia-lo normalmente. >>> >>> Quando o evento encerrar .. basta levar o pc pro escritorio, ligar na >>> net e fazer ele sincronizar .. ou deixar esse sincronismo automatico via >>> cron. >>> >>> Vc pode instalar quantos pcs off quiser .. tem um wamp que facilita esse >>> processo .. é o UNIFORM SERVER. >>> >>> Ele só é mais um pouco complicado de gerenciar do que o wampserver .. >>> mas tem até uma versao compacta .. q vc pode levar no pendrive ou copiar e >>> colar (usar aquele recurso do winrar para compactar como .exe). >>> >>> Espero q goste das dicas :) >>> Em 06/06/2012 10:47, "felipe bastos" <[email protected]> escreveu: >>> >>> Alem do id .. coloca outro "codigo" unico .. esse codigo unico sera a >>>> chave entre os 2 bancos. >>>> Em 06/06/2012 10:21, "Paulo Duarte" <[email protected]> >>>> escreveu: >>>> >>>>> Então... >>>>> Respondendo a algumas perguntas: >>>>> 1) Servidor online fica sempre online (cuida dos eventos q tem acesso >>>>> a internet) >>>>> 2) Servidor local fica só local e para um evento específico. Tanto >>>>> consulta os dados prévios daquele evento como grava novos dados. >>>>> 3) Qdo for offline, não tem acesso a internet. Somente qdo o evento >>>>> acabar. >>>>> 4) Precisamos do admin local (off) e online, pois o off acontece no >>>>> local do evento, é uma pessoa usando e no online é acessado do escritório >>>>> do cliente e os funcionarios ficam acessando. >>>>> >>>>> >>>>> em teoria eu também achei simples... Qdo comecei a analisar a >>>>> aplicação comecei a me perguntar: >>>>> Exemplo: >>>>> - Tenho uma tabela de inscrições que é genérica para todo o sistema, >>>>> guarda os dados do inscrito e o id do evento q ele pertence. >>>>> - Essa tabela vai se incrementando conforme novas inscrições vão sendo >>>>> feitas independente do evento. >>>>> >>>>> Quando levo um evento para o offline (faço uma rotina q exporta todos >>>>> os dados do evento, até aí tranquilo) não vejo problema. >>>>> Aí utilizo o evento off, cadastrando novas inscrições pro evento... a >>>>> tabela vai se incrementando. >>>>> No online estão acontecendo também novas inscrições para outro evento, >>>>> mais está incrementando a mesma tabela. >>>>> >>>>> Aí quando vou sincronizar as duas, vou ter dados diferentes como mesmo >>>>> ID na tabela de inscrições, de eventos diferentes. >>>>> O que eu posso fazer é checar o evento e se for do mesmo, os dados off >>>>> substituem os dados online. >>>>> Se for diferente eu crio um novo registro e todos os seus >>>>> relacionamentos... >>>>> >>>>> Essa foi uma solução que imagenei... mais não tenho idéia do impacto >>>>> disso. >>>>> Também tem o caso de tabelas como Pais, que não guarda o evento e é >>>>> comum ao sistema. Qdo eu sincronizar se houve registro no on e no off eu >>>>> vou ter q ao invés de update dar um insert e verificar todas as relações e >>>>> atualizar elas. >>>>> >>>>> Posso estar viajando e complicando a solução, por isso quero outras >>>>> opiniões antes q eu pire aqui... rsrs >>>>> >>>>> Valeu >>>>> >>>>> >>>>> >>>>> Em 6 de junho de 2012 09:18, felipe bastos <[email protected]>escreveu: >>>>> >>>>>> So lembrando .. >>>>>> >>>>>> Se vai ter uma versao administrativa local (offline) nao vais >>>>>> precisar da admin online. >>>>>> >>>>>> A admin local (offline) com acesso a internet pode gerenciar tudo. >>>>>> Basta fazer com que tudo que aconteca offline seja replicado online. >>>>>> >>>>>> A versao offline (local ou in loco) vai ter acesso a Internet? >>>>>> Em 06/06/2012 08:19, "Newton Wagner" <[email protected]> escreveu: >>>>>> >>>>>> Não vi dificuldade, como você mesmo disse. >>>>>>> >>>>>>> O sistema online nunca vai sair do ar. Isso já resolve a sua >>>>>>> preocupação de que outras pessoas poderão se inscrever em outros >>>>>>> eventos. O seu sistema online, vai ficar online o tempo todo, e >>>>>>> gerenciando os vários eventos que o sistema permitir configurar. >>>>>>> >>>>>>> Na parte administrativa desse seu sistema online, você vai ter uma >>>>>>> funcionalidade de extrair os dados de um único evento para que possam >>>>>>> ser carregados na versão offline. >>>>>>> >>>>>>> Cada servidor offline que você gerar (ou seja, para cada evento >>>>>>> diferente), você terá só os dados daquele evento especificamente, e >>>>>>> poderá fazer a gestão inloco como Checkin dos inscritos, e etc. >>>>>>> >>>>>>> >>>>>>> Caso você precise retornar esses dados para o sistema online, o >>>>>>> processo será o mesmo. Ao final do evento, na aplicação offline você >>>>>>> cria uma funcionalidade pra extrair os dados e atualizar a aplicação >>>>>>> online, pra gerar por exemplo certificados de comparecimento nos >>>>>>> eventos. >>>>>>> >>>>>>> >>>>>>> 2012/6/5 felipe bastos <[email protected]>: >>>>>>> > Rpz .. vc tem de ver todos os detalhes da arquitetura com esse seu >>>>>>> cliente. >>>>>>> > >>>>>>> > 1. Os usuarios se inscreverao no server online. >>>>>>> > 2. O funcionario fará incricoes no server offline? >>>>>>> > 2.1. Subir atualizados do server offline para o online (qtde >>>>>>> ingressos). >>>>>>> > 3. Os usuarios ficarao proibidos de se inscrever online a partir >>>>>>> da X data. >>>>>>> > 4. O server offline fará requisicoes diarias ao server online para >>>>>>> atualizar >>>>>>> > o banco de dados. >>>>>>> > 5. Por ai vai. >>>>>>> > >>>>>>> > É provavel que online e offline tenham logicas diferentes .. ou >>>>>>> melhor .. >>>>>>> > online fica com o front-end (acesso dos usuarios) e offline fica >>>>>>> com o >>>>>>> > back-end (acesso admin). >>>>>>> > >>>>>>> > Se a replicacao com ip fixo ficar complicada, um server rest no >>>>>>> server >>>>>>> > online pode ajudar na replicacao dos dados. >>>>>>> > >>>>>>> > Espero ter ajudado. >>>>>>> > >>>>>>> > Em 05/06/2012 22:04, "Guilherme Maule" <[email protected]> >>>>>>> escreveu: >>>>>>> > >>>>>>> >> Fera, nao entendi a dificuldade na operação? >>>>>>> >> >>>>>>> >> Acredito que exite varias maneiras de chegar ao mesmo resultado. >>>>>>> Por que >>>>>>> >> não baixa os dados no dia que vai parar as inscrições para o >>>>>>> banco local e >>>>>>> >> trabalha com ele offline e apos o evento, cria uma action que vai >>>>>>> subir e >>>>>>> >> atualizar as informações? >>>>>>> >> >>>>>>> >> Em poucas linahs voce escreve isto... Mada seu cliente executar a >>>>>>> função X >>>>>>> >> que vai fazer o download do banco-online para o banco-offline. >>>>>>> Apos o evento >>>>>>> >> manda seu cliente conectar o serve a intenet e executar a função >>>>>>> Y. Que vai >>>>>>> >> fazer o upload dos dados do banco-offline para o banco-online... >>>>>>> >> >>>>>>> >> #) >>>>>>> >> >>>>>>> >> Uma sugestão apenas... >>>>>>> >> >>>>>>> >> Em 5 de junho de 2012 20:43, Paulo Duarte < >>>>>>> [email protected]> >>>>>>> >> escreveu: >>>>>>> >>> >>>>>>> >>> Boa noite pessoal, >>>>>>> >>> estou desenvolvendo um projeto (php/kohana + mysql) que tem por >>>>>>> objetivo >>>>>>> >>> basicamente gerenciar dados de eventos (inscrições, cracha, etc). >>>>>>> >>> >>>>>>> >>> O sistema vai funcionar online (na maior parte do tempo). >>>>>>> >>> O problema que estou enfrentando é que no dia do evento, o >>>>>>> sistema deve >>>>>>> >>> estar funcionando off line (somente os dados do evento que está >>>>>>> >>> acontecendo). >>>>>>> >>> O porque disso: O cliente termina as inscrições online alguns >>>>>>> dias antes >>>>>>> >>> do evento para ter tempo de organizar os dados. >>>>>>> >>> No dia do evento ele não utiliza internet, são máquinas numa >>>>>>> rede local >>>>>>> >>> que devem acessar o sistema para verificar os dados do evento em >>>>>>> questão. >>>>>>> >>> >>>>>>> >>> Até aí tudo certo, teoricamente bastaria o cliente ter um server >>>>>>> >>> configurado no local do evento e importar o banco do ar no local. >>>>>>> >>> O problema é que o sistema gerencia mais de um evento. O >>>>>>> escritório do >>>>>>> >>> meu cliente estará atendendo e recebendo inscrições de outros >>>>>>> eventos >>>>>>> >>> (online) e o cliente precisa estar inloco com o sistema offline >>>>>>> funcionando >>>>>>> >>> com os dados daquele evento. >>>>>>> >>> >>>>>>> >>> Nunca um evento será gerenciado off e on ao mesmo tempo, assim >>>>>>> eu posso >>>>>>> >>> parar todas as informações referentes aquele evento, usar >>>>>>> offline e depois >>>>>>> >>> subir elas subscrevendo o que havia de dados do evento em >>>>>>> específico. >>>>>>> >>> >>>>>>> >>> Bom, possíveis soluções: >>>>>>> >>> 1) Ter um banco de dados para cada evento. Desta forma bastaria >>>>>>> exporta o >>>>>>> >>> banco em questão e importar na estrutura offline, e depois fazer >>>>>>> o processo >>>>>>> >>> contrário para deixar o sistema online atualizado. >>>>>>> >>> >>>>>>> >>> 2) Sincronizar os bancos (nunca fiz nada parecido, não conheço os >>>>>>> >>> obstáculos). >>>>>>> >>> >>>>>>> >>> >>>>>>> >>> Alguém já passou por situação semelhante e teria alguma direção >>>>>>> para me >>>>>>> >>> dar? >>>>>>> >>> >>>>>>> >>> Obrigado!! >>>>>>> >>> >>>>>>> >>> >>>>>>> >>> >>>>>>> >>> -- >>>>>>> >>> Atenciosamente, >>>>>>> >>> >>>>>>> >>> >>>>>>> >>> Paulo Duarte >>>>>>> >>> Inteligência Web - Comunicação e Sistemas >>>>>>> >>> >>>>>>> >>> Fone: (48) 3028.5141 / 8426.3629 >>>>>>> >>> E-mail: [email protected] >>>>>>> >>> Skype: paulo.iw >>>>>>> >>> >>>>>>> >>> >>>>>>> >>> >>>>>>> ------------------------------------------------------------------------------------------- >>>>>>> >>> Aviso de confidencialidade: >>>>>>> >>> Esta mensagem da Empresa IW - Inteligência Web Comunicação e >>>>>>> Sistemas, >>>>>>> >>> empresa privada, é enviada exclusivamente a seu destinatário e >>>>>>> pode conter >>>>>>> >>> informações confidenciais, protegidas por sigilo profissional. >>>>>>> Sua >>>>>>> >>> utilização desautorizada é ilegal e sujeita o infrator às penas >>>>>>> da lei. Se >>>>>>> >>> você a recebeu indevidamente, queira, por gentileza, reenviá-la >>>>>>> ao emitente, >>>>>>> >>> esclarecendo o equívoco. >>>>>>> >>> >>>>>>> >>> -- >>>>>>> >>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>> "Kohana >>>>>>> >>> Php" dos Grupos do Google. >>>>>>> >>> Para postar neste grupo, envie um e-mail para >>>>>>> >>> [email protected]. >>>>>>> >>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>> >>> [email protected]. >>>>>>> >>> Para obter mais opções, visite esse grupo em >>>>>>> >>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> >> -- >>>>>>> >> >>>>>>> >> Att, >>>>>>> >> Guilherme Maule dos Reis >>>>>>> >> Web Designer >>>>>>> >> >>>>>>> >> 43 - 9129 1400 >>>>>>> >> >>>>>>> >> >>>>>>> >> -- >>>>>>> >> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>> "Kohana >>>>>>> >> Php" dos Grupos do Google. >>>>>>> >> Para postar neste grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> >> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>> >> [email protected]. >>>>>>> >> Para obter mais opções, visite esse grupo em >>>>>>> >> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>> > >>>>>>> > -- >>>>>>> > Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>> "Kohana Php" >>>>>>> > dos Grupos do Google. >>>>>>> > Para postar neste grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> > Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>> > [email protected]. >>>>>>> > Para obter mais opções, visite esse grupo em >>>>>>> > http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Newton Wagner >>>>>>> >>>>>>> msn/gtalk: [email protected] >>>>>>> twitter: http://twitter.com/newtonwagner >>>>>>> site: http://www.newtonwagner.net/ >>>>>>> >>>>>>> -- >>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>>> "Kohana Php" dos Grupos do Google. >>>>>>> Para postar neste grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> Para obter mais opções, visite esse grupo em >>>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>>> >>>>>>> -- >>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>> "Kohana Php" dos Grupos do Google. >>>>>> Para postar neste grupo, envie um e-mail para >>>>>> [email protected]. >>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>>> [email protected]. >>>>>> Para obter mais opções, visite esse grupo em >>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Atenciosamente, >>>>> >>>>> >>>>> *Paulo Duarte* >>>>> Inteligência Web - Comunicação e Sistemas >>>>> >>>>> Fone: (48) 3028.5141 / 8426.3629 >>>>> E-mail: [email protected] >>>>> Skype: paulo.iw >>>>> >>>>> >>>>> ------------------------------------------------------------------------------------------- >>>>> Aviso de confidencialidade: >>>>> Esta mensagem da Empresa IW - Inteligência Web Comunicação e Sistemas, >>>>> empresa privada, é enviada exclusivamente a seu destinatário e pode conter >>>>> informações confidenciais, protegidas por sigilo profissional. Sua >>>>> utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se >>>>> você a recebeu indevidamente, queira, por gentileza, reenviá-la ao >>>>> emitente, esclarecendo o equívoco. >>>>> >>>>> -- >>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>>>> Php" dos Grupos do Google. >>>>> Para postar neste grupo, envie um e-mail para >>>>> [email protected]. >>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>>> [email protected]. >>>>> Para obter mais opções, visite esse grupo em >>>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>>> >>>> -- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>> Php" dos Grupos do Google. >>> Para postar neste grupo, envie um e-mail para >>> [email protected]. >>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>> [email protected]. >>> Para obter mais opções, visite esse grupo em >>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>> >> >> >> >> -- >> >> Att, >> *Guilherme Maule dos Reis* >> *Web Designer * >> >> 43 - 9129 1400 >> >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> [email protected]. >> Para obter mais opções, visite esse grupo em >> http://groups.google.com/group/kohana-php?hl=pt-BR. >> > > > > -- > Atenciosamente, > > > *Paulo Duarte* > Inteligência Web - Comunicação e Sistemas > > Fone: (48) 3028.5141 / 8426.3629 > E-mail: [email protected] > Skype: paulo.iw > > > ------------------------------------------------------------------------------------------- > Aviso de confidencialidade: > Esta mensagem da Empresa IW - Inteligência Web Comunicação e Sistemas, > empresa privada, é enviada exclusivamente a seu destinatário e pode conter > informações confidenciais, protegidas por sigilo profissional. Sua > utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se > você a recebeu indevidamente, queira, por gentileza, reenviá-la ao > emitente, esclarecendo o equívoco. > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]. > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
