2014-02-24 1 views
0

현재 iOS 응용 프로그램에 데이터베이스를 저장하기 위해 Magical Record를 사용하고 있습니다.CoreData 정적 라이브러리의 자동 마이그레이션

내 응용 프로그램의 하위 프로젝트 인 정적 라이브러리에 핵심 데이터 xcdatamodeld를 저장합니다.

응용 프로그램은 데이터베이스를 정상적으로 읽고 쓸 수 있습니다.

내 모델 버전에서 자동 마이그레이션을 트리거해야하는 내 모델에 속성을 방금 추가했지만 발생하지는 않습니다.

다음 코드 [MagicalRecord shouldDeleteStoreOnModelMismatch]가 true를 반환하므로 데이터베이스가 삭제되고 생성됩니다.

찾아보기 자동 마이그레이션을위한 사과 안내서에서 하나의 속성을 추가하는 것이 좋습니다.

나는 [MagicalRecord setupAutoMigratingCoreDataStack]과 같은 마법 기록을 설정 중입니다. 핵심 데이터 .xcdatamodeld 서브 프로젝트에서이기 때문에 내가

답변

0

확인 [NSPersistentStore addPersistantStoreWithType에 의해 반환 된 오류보고 후 성공적으로 마이그레이션하기위한 추가 작업 을해야 할 경우

궁금 : 구성 : URL : 옵션 : 오류]

반환하면 소스 상점에 대한 모델을 찾을 수 없습니다.

그래서 나는 인터넷 검색의 비트를했고, 나는 내 두 번째 버전에서 내 .xcdatamodeld 파일

에 앱 모델 버전을 추가 한 경우 I는 동일한 모델 및 마이그레이션 작업에 속성을 추가 한 것으로 나타났다.

속성을 추가하면 이 가벼운 마이그레이션으로 간주되어 새 모델 버전을 만들 필요가 없기 때문에이 작업을 수행 할 필요가 없다는 인상을 받았습니다.

이 문제와 관련하여 잘못 되었습니까?

+1

변경 사항 수집마다 새 버전을 만들고 이전 버전의 모델을 유지해야합니다. 앱이 아직 개발중인 경우 개발 데이터 저장소를 삭제하면 앱에서 올바르게 저장소를 다시 작성합니다. – casademora

+0

경량 마이그레이션에는 항상 모델 이전이 필요합니다. 데이터베이스 구조에 영향을 미치지 않는 변경 사항 (예 : 가져온 속성 등) 만 허용됩니다. –