如何在ActiveAndroid中删除并重新创建数据库版本更新的所有表?

时间:2015-12-28 14:55:33

标签: android mysql database database-migration activeandroid

我在我的应用程序中使用ActiveAndroid作为Database系统。在当前阶段,我不想编写用于在更新数据库版本时将当前表迁移到已更改的迁移文件。

相反,我想做的是删除所有表并重新创建一组新表。

不幸的是,在ActiveAndroid挖掘Database版本测试发生在初始化阶段,我在其中传递ActiveAndroid Configuration对象来配置Database

此时,他们的实现仅检查assets文件夹中的迁移文件。我不介意创建迁移文件来执行我需要的操作,但问题是我不知道如何在DB中初始化当前表以重新创建它们。

有人知道如何使用ActiveAndroid吗?

1 个答案:

答案 0 :(得分:3)

不确定我是否理解正确,但如果您正在开发中,那么最简单的方法就是卸载应用程序,让Active Android在重新安装时重新创建数据库架构。

在投入生产时,您需要按照documentation使用迁移脚本。

我遇到了类似的问题,我需要强制重新创建几个表。不幸的是,您需要手动完成。但是,您可以使用ActiveAndroid帮助程序类来帮助您。

  1. 首先,您需要以某种方式处理旧表数据。
  2. 删除表格:

    SQLiteUtils.execSql(“DROP TABLE IF EXISTS Your_Table_Name”);

  3. 使用ActiveAndroid类重新创建表。

    <强> SQLiteUtils.execSql(SQLiteUtils.createTableDefinition(Cache.getTableInfo(YOUR_MODEL_CLASS.class)));

  4. 将旧数据插入到newwly create table中。