2017-04-13 3 views
0

여러 전화의 로컬 저장소에서 하나의 레코드를 삭제하려면 어떻게해야합니까? 초기화 전화는 로컬 저장소 (sqlite) 및 Azure (SQL Server)에서 레코드를 올바르게 삭제합니다.Azure MobileServiceSync - 여러 전화간에 로컬 상점 기록을 삭제하는 방법?

그러나 나는 다른 휴대 전화가 풀을 수행 한 후 로컬 저장소에서 해당 레코드를 삭제할 것이라고 잘못 생각했습니다. 대신 '전체 삭제'레코드는 전체 테이블이 삭제 된 다음 제거 될 때까지 고아가됩니다. 단일 레코드를 삭제하는 것은 과도한 것처럼 보입니다. 여러 장치간에 로컬 저장소 레코드를 쉽게 삭제하려면 어떻게해야합니까?

답변

2

서버에서 '소프트 삭제'를 사용하십시오.

노드 기반 서버에서 테이블 정의에 table.softDelete = true;을 설정하십시오.

ASP.NET 기반 서버에서 EntityDomainManager의 생성자에 enableSoftDelete: true을 설정하십시오.

이렇게하면 삭제 된 열이 모델에 추가됩니다. 클라이언트가 당겨지면, 삭제 된 것으로 표시된 레코드도 모두 풀되며 클라이언트는 SQLite 저장소에서 레코드를 삭제합니다. 레코드가 클라이언트에서 삭제되면 삭제 된 것으로 표시됩니다.

서버에서 삭제 표시된 레코드를 정기적으로 정리해야합니다.

+0

애드리안. 그게 내가 필요한거야. – Mike