浏览代码

Improvements Init database

marinofaggiana 6 年之前
父节点
当前提交
32788d5ac6
共有 2 个文件被更改,包括 20 次插入47 次删除
  1. 3 1
      iOSClient/CCGlobal.h
  2. 17 46
      iOSClient/Database/NCManageDatabase.swift

+ 3 - 1
iOSClient/CCGlobal.h

@@ -80,8 +80,10 @@
 
 #define k_maxErrorAutoUploadAll                         100
 
-// Name Default DB
+// Database Realm
 #define k_databaseDefault                               @"nextcloud.realm"
+#define k_databaseEncryptedDefault                      @"nextcloudencrypted.realm"
+#define k_databaseSchemaVersion                         46
 
 // Intro selector
 #define k_intro_login                                   0

+ 17 - 46
iOSClient/Database/NCManageDatabase.swift

@@ -33,10 +33,14 @@ class NCManageDatabase: NSObject {
     override init() {
         
         let dirGroup = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: NCBrandOptions.sharedInstance.capabilitiesGroups)
+        let databaseFilePath = dirGroup?.appendingPathComponent("\(k_appDatabaseNextcloud)/\(k_databaseDefault)")
+        
+        // Compact Database
         
         var configCompact = Realm.Configuration(
             
-            fileURL: dirGroup?.appendingPathComponent("\(k_appDatabaseNextcloud)/\(k_databaseDefault)"),
+            fileURL: databaseFilePath,
+            schemaVersion: UInt64(k_databaseSchemaVersion),
             
             shouldCompactOnLaunch: { totalBytes, usedBytes in
             // totalBytes refers to the size of the file on disk in bytes (data + free space)
@@ -56,55 +60,18 @@ class NCManageDatabase: NSObject {
         }
         
         do {
-            // Realm is compacted on the first open if the configuration block conditions were met.
             _ = try Realm(configuration: configCompact)
-        } catch {
-            // handle error compacting or opening Realm
+        } catch let error {
+            print("error: \(error)")
         }
         
+        // Open Database
+
         var config = Realm.Configuration(
         
-            fileURL: dirGroup?.appendingPathComponent("\(k_appDatabaseNextcloud)/\(k_databaseDefault)"),
-            schemaVersion: 46,
-            
-            // 10 : Version 2.18.0
-            // 11 : Version 2.18.2
-            // 12 : Version 2.19.0.5
-            // 13 : Version 2.19.0.14
-            // 14 : Version 2.19.0.xx
-            // 15 : Version 2.19.2
-            // 16 : Version 2.20.2
-            // 17 : Version 2.20.4
-            // 18 : Version 2.20.6
-            // 19 : Version 2.20.7
-            // 20 : Version 2.21.0
-            // 21 : Version 2.21.0.3
-            // 22 : Version 2.21.0.9
-            // 23 : Version 2.21.0.15
-            // 24 : Version 2.21.2.5
-            // 25 : Version 2.21.3.1
-            // 26 : Version 2.22.0.4
-            // 27 : Version 2.22.0.7
-            // 28 : Version 2.22.3.5
-            // 29 : Version 2.22.5.2
-            // 30 : Version 2.22.6.0
-            // 31 : Version 2.22.6.3
-            // 32 : Version 2.22.6.10
-            // 33 : Version 2.22.7.1
-            // 34 : Version 2.22.8.14
-            // 35 : Version 2.22.8.14
-            // 36 : Version 2.22.8.14
-            // 37 : Version 2.22.8.14
-            // 38 : Version 2.22.8.20
-            // 39 : Version 2.22.9.1
-            // 40 : Version 2.22.9.3
-            // 41 : Version 2.22.9.5
-            // 42 : Version 2.23.1.0
-            // 43 : Version 2.23.2.0
-            // 44 : Version 2.23.4.3
-            // 45 : Version 2.23.4.4
-            // 46 : Version 2.23.4.5
-
+            fileURL: databaseFilePath,
+            schemaVersion: UInt64(k_databaseSchemaVersion),
+            
             migrationBlock: { migration, oldSchemaVersion in
                 // We haven’t migrated anything yet, so oldSchemaVersion == 0
                 /*
@@ -146,7 +113,11 @@ class NCManageDatabase: NSObject {
         }
         
         Realm.Configuration.defaultConfiguration = config
-        _ = try! Realm()
+        do {
+            _ = try Realm()
+        } catch let error {
+            print("error: \(error)")
+        }
     }
     
     //MARK: -