如何使用FMDBMigrationManager进行数据库迁移

app版本升级,需要升级数据库,我是这样写的

FMDBMigrationManager *manager = [FMDBMigrationManager managerWithDatabaseAtPath:self.dbPath migrationsBundle:[NSBundle mainBundle]];

BOOL resultState = NO;
NSError *error;
if (!manager.hasMigrationsTable) {
    resultState =[manager createMigrationsTable:&error];
}

resultState = [manager migrateDatabaseToVersion:UINT16_MAX progress:nil error:&error];
NSLog(@"Has `schema_migrations` table?: %@", manager.hasMigrationsTable ? @"YES" : @"NO");
NSLog(@"Origin Version: %llu", manager.originVersion);
NSLog(@"Current version: %llu", manager.currentVersion);
NSLog(@"All migrations: %@", manager.migrations);
NSLog(@"Applied versions: %@", manager.appliedVersions);
NSLog(@"Pending versions: %@", manager.pendingVersions);

数据库中有schema_migrations表,但是打印出的origin version,current version均为0,而且建立的2016*.sql中的建表操作并未执行,请教下是哪里写错了吗,求大神指点啊

阅读 5.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题