我在应用程序的第一个版本中使用了 SugarORM。现在,我正在开发第二个版本,其中将新表添加到数据库中。
根据 SugarORM文档, “Sugar 会自动为新实体创建表,因此您的迁移脚本只需要满足对现有表的更改。”
这是我所做的:
- 增加了 AndroidManifest 中的 DB 版本
<meta-data android:name="VERSION" android:value="2" />
- 创建了新的记录类。
public class NewModel extends SugarRecord<NewModel>
运行应用程序时,Sugar 创建了新表,但不幸的是,它还删除/创建了现有表,擦除了本地保存的所有数据!
我还尝试自己创建新表,方法是添加一个2.sql
包含我的CREATE TABLE NEW_MODEL
语句的迁移脚本文件。不幸的是,它抛出了一个异常“表已经存在”,因为 Sugar 创建了新表,然后尝试运行我的脚本!
有什么建议么?