2010-11-09 7 views
1

Salut tout le monde, j'ai une question.comment synchroniser sqlite vers mysql distant?

A sqlite ont environ 15 tables et mysql same.i veux sqlite synchroniser mysql toutes les heures, que puis-je faire ? J'ai une idée, utilisez un script/php pour exporter la valeur de sqlite'tables et (envoyer à mysql ou envoyé url), et mysql utiliser un script (script/php) pour mettre à jour DB mais de cette façon pas comme bien.

ou avez-vous un outil que je peux utiliser?

merci à tous.

+0

Commander http://stackoverflow.com/questions/1025812/synchronizing-an-sqlite-client-database-with-a-mysql-server-database – rwilliams

Répondre

4

Si vous ne souhaitez pas effectuer des exports/imports complets à chaque fois, ce que vous devez faire est d'avoir un champ "last_modified" dans chaque table qui contient une date à laquelle cette ligne a été modifiée pour la dernière fois. Ensuite, sur chaque synchronisation, enregistrez l'horodatage en cours et sur la synchronisation ultérieure, exécutez une requête comme:

SELECT * FROM TABLE OÙ last_modified> $ last_sync_timestamp

..et vous obtenez votre liste de lignes mises à jour. Notez que cela ne propagera pas les lignes qui seront supprimées des tables.

Au lieu de supprimer ces lignes, vous devez avoir un autre champ appelé "visibility" qui est basculé sur false lorsqu'un enregistrement est supprimé, et votre application modifiée pour que ces lignes ne soient pas affichées. Ensuite, demandez à votre code de synchronisation de supprimer les lignes "non visibles" de la table après un certain nombre de synchronisations.

Espérons que cela aide.

Questions connexes