Kaz*_*Kaz 1 orm android sugarorm
我有一个使用Sugar ORM的数据库,每次我创建一个扩展SugarRecord的新类时,我需要将我在android清单上的database_version升级为Sugar ORM识别新表.好的,直到那时.
问题是Sugar ORM正在删除我以前在数据库的每个表上的所有数据!我有很多关于它们的数据,我无法删除它并在每次数据库升级时重新插入它.
有一些方法可以避免这种情况吗?
谢谢
在assets文件夹中创建名为sugar_upgrades的文件夹.
创建一个<version>.sql在该文件夹中命名的文件,该文件对应于您在Android Manifest中升级到的数据库版本.例如.1.sql,2.sql此文件将包含该特定版本的所有更新/更改查询.
将AndroidManifest.xml中的VERSION元数据字段更改为适当的版本.
Sugar负责将数据库从其当前版本升级到升级版本.例如:如果数据库当前处于版本1且升级版本为4,则它将查找2.sql,3.sql和4.sql并按该顺序执行所有当前文件.
请注意,Sugar将自动为新实体创建表,因此您的迁移脚本只需要满足对现有表的更改.
升级脚本示例.这是一个普通的sql脚本文件.您可以一次添加一行所有的alter和insert/update查询.每条线由a终止; (分号).
您的assets/sugar_upgrades文件夹中的文件:2.sql
alter table注意添加NAME TEXT;
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |