对于数据库更新的清理
当数据库数据太多时,做一个清理。
NSArray *phoneRecordSorts = [LNDBModelcompareTable:[LNPhoneRecordSortclass] withTable:[LNRecordIDclass] byCriteria:@"select * from LNPhoneRecordSort phoneRecordSort where not exists (select 1 from LNContact contact where phoneRecordSort.recordID=contact.recordID )"];
if (phoneRecordSorts.count >0) {
for (LNPhoneRecordSort *phoneRecordSortin phoneRecordSorts) {
if (phoneRecordSort.otherPhoneSearchNumber ==nil) {
phoneRecordSort.otherPhoneSearchNumber = [NSStringgetFomateNumberFromString:phoneRecordSort.otherPhoneNumber];
}
phoneRecordSort.phoneType =LXLocalizedString(@"unknown");
[phoneRecordSort update];
}
}
对已经存在的数据的更新
NSArray *phones = [LNPhone findByCriteria:[NSString stringWithFormat:@"where recordID = %@",phone.recordID]];
LNContact *contact = [LNContact findFirstByCriteria:[NSString stringWithFormat:@"where recordID = %@",phone.recordID]];
NSArray *oldPhoneRecords = [LNPhoneRecord findByCriteria:[NSString stringWithFormat:@"where myPhoneNumber = '%@' and otherPhoneSearchNumber = '%@'",phoneRecordSort.myPhoneNumber,[NSString getFomateNumberFromString:phoneRecordSort.otherPhoneNumber]]];
for (LNPhoneRecord *phoneRecord in oldPhoneRecords) {
phoneRecord.recordID = phone.recordID;
[phoneRecord update];
}
LNContactInfo *contactInfo = [[LNContactInfo alloc]init];
contactInfo.contact = contact;
contactInfo.phones = phones;
VC.contactInfo = contactInfo;
NSArray *phoneRecords = [LNPhoneRecord findByCriteria:[NSString stringWithFormat:@"where myPhoneNumber = '%@' and recordID = '%@' and dailTime >= '%@' and dailTime <= '%@' order by dailTime desc limit %@",phoneRecordSort.myPhoneNumber,phone.recordID,phoneRecordSort.firstTime,phoneRecordSort.lastTime,phoneRecordSort.times]];
VC.phoneRecords = phoneRecords;