Sugar ORM在更新数据库时删除了一列

时间:2016-01-12 13:09:30

标签: android sqlite android-sqlite sugarorm

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

2 个答案:

答案 0 :(得分:2)

由于android-sugarormsugarorm)下方使用SQLite,因此无法使用ALTER TABLE删除列(字段),因此不会自动完成。< / p>

  

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

ALTER TABLE SQLite

SQLite中你可以:

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

另见Migrating database from previous version
SQLite FAQ

答案 1 :(得分:0)

请按照以下步骤操作:

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

有关详细信息,请查看sugar migration