iOS中的数据库迁移?

时间:2017-07-04 12:04:04

标签: ios sqlite dbmigrate

我有一个应用程序,我没有设置SQLite版本,现在我想升级应用程序,但我在新的iPA中有一些列更改。如何在iOS中实现数据库迁移?我正在使用FMDB作为数据库。

1 个答案:

答案 0 :(得分:0)

保持一个常量,哪个版本指向版本增量。 每次数据库更新都会增加计数器。

在应用启动时,请拨打以下代码:

DatabaseMigrator *dbMigrator = [[DatabaseMigrator alloc]
                                initWithDatabaseFile:
                                [AbstractRepository databaseFilename]];

//for development only - toggle this to force the new database over
//dbMigrator.overwriteDatabase = YES;

[dbMigrator moveDatabaseToUserDirectoryIfNeeded];

[dbMigrator migrateToVersion:CURRENT_SCHEMA_VERSION];

BOOL marked = [FileUtils addSkipBackupAttributeToItemAtURL:[AbstractRepository databasePath]];

if (marked) {

    NSLog(@"succesfully Marked do not back up");

} else {

    NSLog(@"failed Marked do not back up");
}