JQFMDB
JQFMDB copied to clipboard
数据库迁移的api
大神是怎么做的数据库迁移
此部分目前只有两个接口, 关于迁移, 后续会完善 /** 增加新字段, 在建表后还想新增字段,可以在原建表model或新model中新增对应属性,然后传入即可新增该字段,该操作已在事务中执行
@param tableName 表的名称 @param parameters 如果传Model:数据库新增字段为建表时model所没有的属性,如果传dictionary格式为@{@"newname":@"TEXT"} @param nameArr 不允许生成字段的属性名的数组 @return 是否成功 */
- (BOOL)jq_alterTable:(NSString *)tableName dicOrModel:(id)parameters excludeName:(NSArray *)nameArr;
- (BOOL)jq_alterTable:(NSString *)tableName dicOrModel:(id)parameters;
[db jq_inDatabase:^{ if (![db jq_isExistTable:tablename]) { [db jq_createTable:tablename dicOrModel:model]; } else { [db jq_alterTable:tablename dicOrModel:model]; } 这么写会报错 大神该在哪里调用啊
报错的原因是因为死锁, alter不要在block内调用(jq_inDatabase:^), 因为新增字段已经在事务里处理了