LKDB+Manager.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //
  2. // NSObject+TableManager.h
  3. // LKDBHelper
  4. //
  5. // Created by upin on 13-6-20.
  6. // Copyright (c) 2013年 ljh. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class LKDBHelper;
  10. typedef enum {
  11. LKTableUpdateTypeDefault = 1<<0, //不操作 可能后续的操作会报错
  12. LKTableUpdateTypeDeleteOld = 1<<1, //直接删除旧表 创建新表
  13. LKTableUpdateTypeCustom = 1<<2 //自定义 更新
  14. }LKTableUpdateType;
  15. @interface NSObject (TableManager)
  16. +(int)getTableVersion;
  17. /**
  18. * @brief overwrite in your models, operating table update
  19. */
  20. +(LKTableUpdateType)tableUpdateForOldVersion:(int)oldVersion newVersion:(int)newVersion;
  21. +(void)tableUpdateAddColumeWithPN:(NSString*)propertyName;
  22. +(void)tableUpdateAddColumeWithName:(NSString*)columeName sqliteType:(NSString*)sqliteType;
  23. #pragma mark- DEPRECATED
  24. /**
  25. +(LKTableUpdateType)tableUpdateWithDBHelper:(LKDBHelper *)helper oldVersion:(int)oldVersion newVersion:(int)newVersion DEPRECATED_ATTRIBUTE;
  26. */
  27. #pragma mark-
  28. @end
  29. @interface LKTableManager : NSObject
  30. -(id)initWithLKDBHelper:(LKDBHelper*)helper;
  31. -(void)setTableName:(NSString*)name version:(int)version;
  32. -(int)versionWithName:(NSString*)name;
  33. -(void)clearTableInfos;
  34. @end