簡體   English   中英

如何打開CoreData數據庫文件以查看保存的值

[英]How to open CoreData database file to see saved values

現在我正在使用coredata保存我的數據。 一切正常,但現在我更改了將值保存到數據庫的邏輯。 所以我需要比較一下邏輯更改后相同的值是否已保存在表中。 所以我需要比較表。

我經歷了很多鏈接,例如鏈接1 鏈接2

所有鏈接都表明coredata創建的數據庫文件的擴展名為.sqlite。 但是在該位置創建的文件是“ persistentStore,persistentStore-shm,persistentStore-wal”,如屏幕截圖所示。

數據庫文件的圖像

我應該如何打開這些文件以查看表中保存的數據。 提前致謝

 - (void)setupDatabase:(void (^)(BOOL))completionHandler
{

    NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
    url = [url URLByAppendingPathComponent:@"MainDataModel"];

    self.db = [[CWUIManagedDocument alloc] initWithFileURL:url];

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                                  [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                                  [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

    self.db.persistentStoreOptions = options;

    if(![[NSFileManager defaultManager] fileExistsAtPath:[self.db.fileURL path]])
    {
        [self.db saveToURL:self.db.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
            self.dataManager.db = self.db;
            completionHandler(success);
        }];
    } else if (self.db.documentState == UIDocumentStateClosed) {
        [self.db openWithCompletionHandler:^(BOOL success) {
            self.dataManager.db = self.db;
            completionHandler(success);
        }];
    }
}

您的sql文件是沒有擴展名的文件。 其他2個文件用於日記模式。

這已經在這個問題中得到了解釋。 Apple在iOS 7上將默認日記模式更改為WAL。

setupDatabase()方法中,替換以下行

 url = [url URLByAppendingPathComponent:@"MainDataModel"]

 url = [url URLByAppendingPathComponent:@"MainDataModel.sqlite"]

您必須將持久性存儲類型創建為Sqlite

在終端上運行這些命令,然后在sqlite管理器中打開您的persistentStore 這些命令會將WAL文件合並到主sqlite文件中

$ sqlite3 persistentStore
sqlite> PRAGMA wal_checkpoint;

Press control + d

以上鏈接的答案中已經涵蓋了這些步驟: https : //stackoverflow.com/a/43406516/468724

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM