0

我在我的项目中使用 Sugar ORM。我需要在下一个应用程序版本的 sqlite 表中删除一列。我已经查看了有关 Sugar ORM 迁移的文档,但我找不到在其中删除列的方法。

4

2 回答 2

2

因为android-sugarorm( sugarorm)SQLite在下面使用,所以不能ALTER TABLE用于删除列(字段),所以不会自动完成。

SQLite支持有限的子集ALTER TABLEALTER TABLEin 命令允许用户重命名表SQLite或向现有表添加新列。无法重命名列、删除列或在表中添加或删除约束。

更改表 SQLite

SQLite您可以:

(1)。创建新表作为您要更改的表(没有要删除的列)
(2)。复制所有数据(要删除的列除外)
(3)。删除旧表
(4)。将新表重命名为旧名称。

另请参阅从以前版本
SQLite 迁移数据库常见问题解答

于 2017-08-16T14:54:16.960 回答
0

按着这些次序:

  • 在您的资产文件夹中创建一个名为 sugar_upgrades 的文件夹
  • 在该文件夹中创建一个名为 <version>.sql 的文件,该文件对应于数据库版本。例如。1.sql, 2.sql 该文件将包含该特定版本的所有更新/更改查询
  • 将 AndroidManifest.xml 中的 VERSION 元数据字段更改为适当的版本

有关更多详细信息,请检查糖迁移

于 2016-01-12T13:34:48.260 回答