Activa las notificaciones push PhoneGap Spain

Foro

Home Forums Apache Cordova Sincronización de base de datos SQLite Local con MySql remota

This topic contains 1 reply, has 2 voices, and was last updated by Jose Jesus Perez Rivas Jose Jesus Perez Rivas 1 semana, 4 dias .

Viendo 2 respuestas - de la 1 a 2 (de 2 en total)
  • Sincronización de base de datos SQLite Local con MySql remota

    Intervenciones
  • miguelgomez 
    Participant

    Cordial saludo,
    Me planteé una duda al desarrollar una aplicación recientemente en la cual realizo una sincronización de una base de datos sqlite local al dispositivo en que se encuentre instalada la aplicación, con una base de datos mysql remota, esto con el fin de que al momento en que el dispositivo no cuente con conexión a internet el usuario pueda seguir realizando administración de datos y que al momento de contar con conexión se reflejen esos cambio en la base de datos en la nube y que en caso de que se encuentren registros en la base de datos remota, que no se encontraban la ultima vez que el dispositivo contó con conexión a internet, estos se vean reflejados en la base de datos local.
    Mi solución fue simplemente almacenar una secuencia de scripts en un archivo plano con banderas de tiempo que se ejecutaban en orden al momento de recuperar una conexión a internet para almacenar los nuevos datos en la base de datos remota y otro script que recorria ambas bases de datos para almacenar en la base de datos local los registros faltantes en la misma.
    Como podrán pensar es una solución “tosca” pero funcional a la necesidad que tenia en el momento, pero pensando en varial limitaciones que podría llegar a tener esta solución (como las llaves foráneas), he decidido consultar si existe alguna herramienta que facilite esta sincronización, o, algunas soluciones mas acordes a problemas mas complejos.

    Muchas gracias por su atención y recomendaciones


    Jose Jesus Perez Rivas
    Jose Jesus Perez Rivas 
    Keymaster

    Hola @miguelgomez,

    yo lo que hago es almacenar todos los datos en local mediante websql o indexdb y crear un campo de fecha de sincronización, si esta fecha existe no hace falta volver a sincronizar con el server, de lo contrario lo intenta enviar nada más el dispositivo vuelve a tener conexión a internet.

    El tener o no conexión y el tipo de conexión lo puedes controlar con el siguiente plugin: https://cordova.apache.org/docs/es/3.1.0/cordova/connection/connection.type.html

    Espero te sea de ayuda :)


    Fundador de PhoneGap Spain http://www.phonegapspain.com Twitter: https://twitter.com/JoseJ_PR


Viendo 2 respuestas - de la 1 a 2 (de 2 en total)

You must be logged in to reply to this topic.