我在我的项目中使用 Sugar ORM。我需要在下一个应用程序版本的 sqlite 表中删除一列。我已经查看了有关 Sugar ORM 迁移的文档,但我找不到在其中删除列的方法。
问问题
1060 次
2 回答
2
因为android-sugarorm
( sugarorm
)SQLite
在下面使用,所以不能ALTER TABLE
用于删除列(字段),所以不会自动完成。
SQLite
支持有限的子集ALTER TABLE
。ALTER TABLE
in 命令允许用户重命名表SQLite
或向现有表添加新列。无法重命名列、删除列或在表中添加或删除约束。
在SQLite
您可以:
(1)。创建新表作为您要更改的表(没有要删除的列)
(2)。复制所有数据(要删除的列除外)
(3)。删除旧表
(4)。将新表重命名为旧名称。
于 2017-08-16T14:54:16.960 回答
0
按着这些次序:
- 在您的资产文件夹中创建一个名为 sugar_upgrades 的文件夹
- 在该文件夹中创建一个名为 <version>.sql 的文件,该文件对应于数据库版本。例如。1.sql, 2.sql 该文件将包含该特定版本的所有更新/更改查询。
- 将 AndroidManifest.xml 中的 VERSION 元数据字段更改为适当的版本
有关更多详细信息,请检查糖迁移
于 2016-01-12T13:34:48.260 回答