OSDN Git Service

データファイルを作成し直すマイグレーションエラーの範囲を広げた
authormasakih <masakih@users.sourceforge.jp>
Mon, 30 Oct 2017 13:26:34 +0000 (22:26 +0900)
committermasakih <masakih@users.sourceforge.jp>
Mon, 30 Oct 2017 13:26:34 +0000 (22:26 +0900)
KCD/MOCGenerator.swift

index 6959a68..97b718d 100644 (file)
@@ -58,6 +58,20 @@ final class MOCGenerator {
         return model
     }
     
+    private func isMigrationError(_ code: Int) -> Bool {
+        return [
+            NSPersistentStoreIncompatibleVersionHashError,
+            NSMigrationError,
+            NSMigrationConstraintViolationError,
+            NSMigrationCancelledError,
+            NSMigrationMissingSourceModelError,
+            NSMigrationMissingMappingModelError,
+            NSMigrationManagerSourceStoreError,
+            NSMigrationManagerDestinationStoreError,
+            NSEntityMigrationPolicyError
+        ].contains(code)
+    }
+    
     private func createCoordinator(_ model: NSManagedObjectModel) throws -> NSPersistentStoreCoordinator {
         
         if !checkDirectory(ApplicationDirecrories.support) {
@@ -73,7 +87,7 @@ final class MOCGenerator {
             
             // Data Modelが更新されていたらストアファイルを削除してもう一度
             if error.domain == NSCocoaErrorDomain,
-                (error.code == 134130 || error.code == 134110),
+                isMigrationError(error.code),
                 config.tryRemake {
                 
                 removeDataFile()