2017-03-12 1 views
0

렐름 db (내 iOS/OSX 앱)에 필드를 추가하고 렐름을 시작할 때 이전을 추가했습니다. 기본 구성을 사용하고 있습니다. 는 지금은 확실하게 원하는 :렐름 - db가 삭제되지 않도록하는 방법

  1. 데이터베이스는 사용자가 응용 프로그램 업데이트 할 때 삭제 (그건 내 시험에서 확인 것 같다,하지만 내가해야 할)

  2. 되지 않습니다 중요성은 덜하지만 베타 버전 (업데이트 된 필드 포함)을 제공하고 잠시 후 저장소에서 이전 버전 (최신 필드 제외)을 다운로드하면 어떻게됩니까? 삭제됨 :(

답변

1

당신이 말하지 않으면 영역 데이터베이스는 절대로 스스로를 삭제하지 않을 것입니다!

는 IMO 단지 개발 또는 진정으로 임시 캐시에 사용되어야 설정,있다, Realm.Configuration.deleteRealmIfMigrationNeeded라고,하지만 당신은 명시 적으로 true로 설정하지 경우, 영역 마이그레이션 누락의 경우 런타임 예외가 발생합니다.

NSFileManager 또는 이와 동등한 POSIX API를 사용하여 디스크의 영역 파일을 삭제할 수도 있지만, 그렇게하면 완전히 제어 할 수 있기 때문에 언제 알 수 있습니다.

덜 중요하지만 다른 사람에게 베타 버전 (업데이트 된 필드 포함)을 제공하고 잠시 후 제거하고 저장소에서 이전 버전 (최신 필드 제외)을 다운로드하면 어떻게됩니까? 모든 그의 데이터베이스가 삭제되었음을 확인했습니다 : (

이것은 영역이 저장되는 기본 위치를 덮어 쓰면 발생할 수 있습니다. 기본적으로 iOS의 Documents 디렉토리에 저장됩니다. 즉, 백업됩니다. iTunes 및 iCloud를 통해 백업을 복구 한 후에 다시 사용할 수 있어야합니다 .iOS가 백업하지 않는 위치로 영역 위치를 설정하거나 사용자가 자신의 장치를 백업하지 않으면 사용자가 계속 켜져 있습니다 r 소유.

+0

고마워요! 그러나 이것만은 OSX에서도 유효합니다. – Roee84

+1

예. 모든 Realm API는 달리 명시되지 않는 한 모든 Apple 플랫폼에서 작동합니다 (실제로 tvOS에서는 프로세스 간 지원이없고 watchOS에서는 암호화가 필요하지 않습니다). – jpsim

관련 문제