IOS DBAccess 迁移到新的 table 结构
IOS DBAccess migration to new table structure
我正在阅读 DBAccess 文档以了解它是否适合我的需要。
我的问题是关于迁移的。
例如:我有一个现有的应用程序,使用 DBAccess 实现,使用具有以下字段的 table "Person":
- 编号
- 姓名
- 姓氏
- 地址
如果我向 Person 添加其他两个字段,数据库会发生什么情况 class:
- 电子邮件
- phone_number
?
DBAccess 是否自动将新字段添加到数据库 table?
有没有办法为新添加的字段指定默认值?
是的,如果您添加这两个附加属性,DBAccess 将自动添加附加列。
目前无法为新列指定默认值,如您所料,它们都将初始化为 NULL。
你关于默认值的建议很有趣,我很惊讶以前没有提出来。它似乎既易于实现又非常合乎逻辑。唯一奇怪的是,如果我要添加方法
+ (id)defaultValueForProperty:(NSString*)propertyName;
到框架,然后在创建新列时调用它,用户是否希望在创建列时每行发生一次而不是一次,因此他们可以自定义该值,也许从其他地方的内容计算它。
我很乐意收到您的反馈,了解您认为什么是合适的解决方案。
我个人倾向于 class 和实例方法,如果开发人员实现实例方法,那么每一行都将被解析和重写,这可能会很慢,但也是非常有用的功能。
无论哪种方式,添加这样一个简单的功能都不会超过一个小时左右。我们只需要看看我们是否能看到任何陷阱。
谢谢
我正在阅读 DBAccess 文档以了解它是否适合我的需要。
我的问题是关于迁移的。
例如:我有一个现有的应用程序,使用 DBAccess 实现,使用具有以下字段的 table "Person":
- 编号
- 姓名
- 姓氏
- 地址
如果我向 Person 添加其他两个字段,数据库会发生什么情况 class:
- 电子邮件
- phone_number
?
DBAccess 是否自动将新字段添加到数据库 table?
有没有办法为新添加的字段指定默认值?
是的,如果您添加这两个附加属性,DBAccess 将自动添加附加列。
目前无法为新列指定默认值,如您所料,它们都将初始化为 NULL。
你关于默认值的建议很有趣,我很惊讶以前没有提出来。它似乎既易于实现又非常合乎逻辑。唯一奇怪的是,如果我要添加方法
+ (id)defaultValueForProperty:(NSString*)propertyName;
到框架,然后在创建新列时调用它,用户是否希望在创建列时每行发生一次而不是一次,因此他们可以自定义该值,也许从其他地方的内容计算它。
我很乐意收到您的反馈,了解您认为什么是合适的解决方案。
我个人倾向于 class 和实例方法,如果开发人员实现实例方法,那么每一行都将被解析和重写,这可能会很慢,但也是非常有用的功能。
无论哪种方式,添加这样一个简单的功能都不会超过一个小时左右。我们只需要看看我们是否能看到任何陷阱。
谢谢