我在我的应用程序的第一个版本中使用了SugarORM。 现在,我正在开发第二个版本,它已将新表添加到DB。
根据SugarORM documentation“Sugar将自动为新实体创建表格,因此您的迁移脚本只需要满足对现有表格的更改。”
这就是我所做的:
<meta-data android:name="VERSION" android:value="2" />
public class NewModel extends SugarRecord<NewModel>
当运行应用程序时,Sugar创建了新表,但不幸的是,它还删除/创建了现有表,删除了本地保存的所有数据!
我还尝试通过添加包含2.sql
语句的迁移脚本文件CREATE TABLE NEW_MODEL
来自己创建新表。不幸的是,它引发了一个异常“Table已经存在”,因为Sugar创建了新表,然后尝试运行我的脚本!
有什么建议吗?
答案 0 :(得分:11)
我找到了一个解决方案,我必须使用新的版本号创建一个空的迁移脚本文件!现在,它创建新表而不删除/创建旧表。
所以,总结一下: