WebSqlSync 라는 일반 동기화 솔루션을 개발했습니다 .
그것은 어떤 프레임 워크에 의존하지 않습니다. 여기에서 사용할 수 있습니다 :
https://github.com/orbitaloop/WebSqlSync
README 파일의 추출 :
WebSqlSync
로컬 WebSql 데이터베이스 (네비게이터의 SQLite)를 서버에 자동으로 동기화합니다. (양방향 동기화 : 클라이언트 <-> 서버)
기존 앱에 매우 쉽게 통합하고 사용하기 매우 쉽습니다 (호출 기능 : initSync 및 syncNow)
용법
초기화
lib를 초기화해야합니다 (예 : 각 시작시).
자동으로 2 개의 테이블을 생성하고 (존재하지 않는 경우 새로운 또는 수정 된 모든 요소를 저장하는 테이블 (new_elem 테이블), 마지막 동기화 날짜를 저장하는 테이블 (table sync_info), SQLite 트리거도 생성합니다. 동기화하려는 테이블에서 INSERT 또는 UPDATE를 보려면 new_elem 테이블에 수정 된 요소를 자동으로 삽입하십시오.
DBSYNC.initSync(TABLES_TO_SYNC, webSqlDb, sync_info, 'http://www.myserver.com', callBackEndInit);
여기서 TABLES_TO_SYNC는 서버와 동기화하려는 테이블 목록입니다 (예 :
TABLES_TO_SYNC = [
{tableName : 'table1', idName : 'the_id'},
{tableName : 'table2'} //if idName not specified, it will assume that it's "id"
];
동기화
동기화를 시작하려면 syncNow 함수를 호출해야합니다. X 초마다 또는 다음과 같이 약간의 변경 후에 호출 할 수 있습니다.
DBSYNC.syncNow(callBackSyncProgress, function(result) {
if (result.syncOK === true) {
//Synchronized successfully
}
});
그리고 이것이 클라이언트에서해야 할 전부입니다. 서버 측에서는 자체 솔루션을 코딩해야하지만 복잡하지는 않습니다. 그리고 PHP & Java에 몇 가지 예가 있습니다. 다시 한 번 기부를 환영합니다.