File tree Expand file tree Collapse file tree 4 files changed +17
-5
lines changed Expand file tree Collapse file tree 4 files changed +17
-5
lines changed Original file line number Diff line number Diff line change 1
1
2
2
Pod ::Spec . new do |s |
3
3
s . name = "SJDBMap"
4
- s . version = "1.0.21 "
4
+ s . version = "1.0.22 "
5
5
s . summary = "Automatically create tables based on the model."
6
6
s . description = "https://github.com/changsanjiang/SJDBMap/blob/master/README.md"
7
7
s . homepage = "https://github.com/changsanjiang/SJDBMap"
Original file line number Diff line number Diff line change @@ -454,6 +454,8 @@ - (BOOL)sjUpdate:(id<SJDBMapUseProtocol>)model property:(NSArray<NSString *> *)f
454
454
455
455
[self _sjBeginTransaction ];
456
456
457
+ [self sjCreateOrAlterTabWithClass: [model class ]];
458
+
457
459
// 查看是否有特殊字段
458
460
NSDictionary <NSString *, NSArray <NSString *> *> *putInOrderResult = [self _sjPutInOrderModel: model fields: fields];
459
461
@@ -497,10 +499,12 @@ - (BOOL)_sjUpdate:(id<SJDBMapUseProtocol>)model uniqueFields:(NSArray<NSString *
497
499
// is Arr
498
500
if ( [uniqueValue isKindOfClass: [NSArray class ]] ) {
499
501
// insert arr values
502
+ [self sjCreateOrAlterTabWithClass: [[uniqueValue firstObject ] class ]];
500
503
result = [self sjInsertOrUpdateDataWithModels: uniqueValue enableTransaction: NO ];
501
504
return ;
502
505
}
503
506
// is cor
507
+ [self sjCreateOrAlterTabWithClass: [uniqueValue class ]];
504
508
if ( result ) result = [self sjInsertOrUpdateDataWithModel: uniqueValue uM: [self sjGetUnderstandingWithClass: [uniqueValue class ]]];
505
509
}];
506
510
@@ -575,12 +579,14 @@ - (BOOL)sjUpdate:(id<SJDBMapUseProtocol>)model insertedOrUpdatedValues:(NSDictio
575
579
id uniqueValue = [(id )model valueForKey: obj];
576
580
// is Arr
577
581
if ( [uniqueValue isKindOfClass: [NSArray class ]] ) {
582
+ [self sjCreateOrAlterTabWithClass: [[uniqueValue firstObject ] class ]];
578
583
result = [self sjInsertOrUpdateDataWithModels: uniqueValue enableTransaction: NO ];
579
584
if ( !result ) { *stop = YES ;}
580
585
return ;
581
586
}
582
587
// is cor
583
588
SJDBMapUnderstandingModel *uM = [self sjGetUnderstandingWithClass: [uniqueValue class ]];
589
+ [self sjCreateOrAlterTabWithClass: uniqueValue];
584
590
result = [self sjInsertOrUpdateDataWithModel: uniqueValue uM: uM];
585
591
if ( !result ) { *stop = YES ;}
586
592
}];
Original file line number Diff line number Diff line change @@ -56,6 +56,14 @@ NS_ASSUME_NONNULL_BEGIN
56
56
57
57
@interface SJDatabaseMap (InsertOrUpdate)
58
58
59
+
60
+ // MARK: ---------------------------------------------------------
61
+ /* !
62
+ * 数据库依据模型来存储. 所以在存储之前, 请将模型更新到最新状态, 再进行存储.
63
+ */
64
+ // MARK: ---------------------------------------------------------
65
+
66
+
59
67
/* !
60
68
* 插入数据或更新数据
61
69
* 如果没有表, 会自动创建表
@@ -84,15 +92,14 @@ NS_ASSUME_NONNULL_BEGIN
84
92
*
85
93
* insertedOrUpdatedValues : key 更新的这个模型对应的属性. value 属性 更新/新增 的模型, 可以是数组, 也可以是单个模型
86
94
*/
87
- - (void )update : (id <SJDBMapUseProtocol>)model insertedOrUpdatedValues : (NSDictionary <NSString *, id> * __nullable)insertedOrUpdatedValues callBlock : (void (^)(BOOL ))block ;
95
+ - (void )update : (id <SJDBMapUseProtocol>)model insertedOrUpdatedValues : (NSDictionary <NSString *, id> * __nullable)insertedOrUpdatedValues callBlock : (void (^)(BOOL result ))block ;
88
96
89
97
/* !
90
98
* 此接口针对数组字段使用.
91
99
* 如果数据库没有这个模型, 将不会保存
92
100
*
93
- * deletedValues : key 更新的这个模型对应的属性(字段为数组). value 数组中删除掉的模型.
94
101
*/
95
- - (void )updateTheDeletedValuesInTheModel : (id <SJDBMapUseProtocol>)model callBlock : (void (^)(BOOL ))block ;
102
+ - (void )updateTheDeletedValuesInTheModel : (id <SJDBMapUseProtocol>)model callBlock : (void (^)(BOOL result ))block ;
96
103
97
104
@end
98
105
Original file line number Diff line number Diff line change @@ -208,7 +208,6 @@ - (void)update:(id<SJDBMapUseProtocol>)model insertedOrUpdatedValues:(NSDictiona
208
208
* 此接口针对数组字段使用.
209
209
* 如果数据库没有这个模型, 将不会保存
210
210
*
211
- * deletedValues : key 更新的这个模型对应的属性(字段为数组). value 数组中删除掉的模型.
212
211
*/
213
212
- (void )updateTheDeletedValuesInTheModel : (id <SJDBMapUseProtocol>)model callBlock : (void (^)(BOOL ))block {
214
213
[self addOperationWithBlock: ^{
You can’t perform that action at this time.
0 commit comments