2013-06-11 3 views
0

Мне нужно сделать резервную копию моей базы данных. Первоначально на моей странице «Создать резервную копию» у меня появилась моя оригинальная база данных. Когда я нажимаю кнопку «Добавить новую резервную копию», необходимо создать новую резервную копию моей базы данных при проверке условия, что любые новые изменения были сделаны. Если какие-либо изменения были сделаны, необходимо создать новую резервную копию. В противном случае может быть показано только сообщение с предупреждением о том, что никаких изменений из последнего файла резервной копии нет. Может ли кто-нибудь помочь в этомВыполнение резервного копирования базы данных

+0

Непонятно. Что ты хочешь ? Что ты сделал ? В чем проблема ? –

ответ

1

Используйте этот метод. Создайте новую копию своей базы данных и сохраните ее с другим именем.

- (void)copyDatabaseToCache 
{ 
    NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
    NSString *documentFolderPath = [searchPaths objectAtIndex: 0]; 
    NSString *dbPath1 = [documentFolderPath stringByAppendingPathComponent:@"newDatabaseName.sqlite"]; 
    NSString *backupDbPath = @"You should give back up db path here"; 
    NSError *error = nil; 
    NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:backupDbPath error:&error]; 
    NSLog(@"Persistent store size: %@ bytes", [fileAttributes objectForKey:NSFileSize]); 
    if (![[NSFileManager defaultManager] fileExistsAtPath:dbPath1]) { 
     [[NSFileManager defaultManager] copyItemAtPath:backupDbPath toPath:dbPath1 error:nil]; 
     } 


} 
+0

Здравствуйте, Divyu .. Может у вас объяснить код выше ... только часть «если». – Mano

+0

если база данных уже существует на этом пути с тем же именем, она не будет копировать базу данных. Но если вы хотите заменить старый файл на новый. Просто удалите условие if. – Divyu

+0

да, хорошо .. Но я хочу проверить дату изменения или дату последней резервной копии и хочу создать новую резервную копию только в случае разницы в размерах (т. Е. Если изменения были внесены в последнюю резервную копию). Как я могу это сделать. – Mano

Смежные вопросы