2009-12-27 6 views
1

CoreData 비 문서 기반 앱을 개발하고 있습니다. SQLite 저장소 크기는 보통 ~ 60MB 정도이며, Time Machine이 시간당 한 번 전체 데이터베이스를 백업한다는 것은 번거로운 작업입니다. Time Machine을 변경 사항 만 백업하는 방법이 있습니까?CoreData 및 TimeMachine

나는 CoreData external records API for spotlight 을 남용하고 컴퓨터가 해당 외부 레코드 만 백업하도록 생각하고 있습니다. 어떻게 생각해? 설명서에 따르면 외부 레코드는 ~/Library/Caches/또는 ~/Library/CoreData /에만있을 수 있습니다. 전자는 백업에서 자동으로 제외되며 후자에 대해서는 확실하지 않습니다. CoreData 버저 닝과 함께 외부 레코드가 어떻게 작동하는지 잘 모르겠습니다.

+0

어쩌면 당신의 선택은 완벽하지 않았을 것입니다. 그러나 "외부 기록 API를 악용하다"라고 말하면 즉시 당신이 그것을 부르고 있기 때문에 당신이 틀린 일을 할 것이라고 생각하게 만듭니다 "학대". 니가 뭔가를 학대하는 거라면 .. 그러지 마? – Jasarien

+0

음, 예, 아니요 ... CoreData 외부 레코드 API는 CoreData 저장소의 각 항목에 대해 개별 파일을 자동 생성하므로 Spotlight에서 색인을 생성 할 수 있습니다. 그런 다음 Time Machine에서 원칙적으로 백업 할 수 있습니다. 그렇습니다. Apple이 API를 사용하기를 기대 한 것이 아니지만 "도덕적으로 잘못된"것은 아닙니다 ... – Yuji

+1

이러한 레코드의 구조가 비공개이며 변경 될 수 있다는 사실을 감안할 때 애플리케이션의 게으름에서이 기능에 대한 문서는 매우 어리석은 결정 일 것입니다. –

답변

0

Time Machine은 개별 데이터베이스 레코드가 아닌 파일을 백업합니다.

+0

알아. 따라서 CoreData 항목에 대한 개별 파일을 생성해야합니다. 또한 CoreData 외부 레코드 API는 몇 줄의 코드로이를 구현하는 한 가지 방법입니다. 누구든지 (ab) 백업 성능을 향상시키기 위해 해당 API를 사용했는지 궁금합니다. – Yuji