我在应用程序中使用 ActiveAndroid
作为数据库
系统。在当前阶段,我不想编写迁移文件以在更新数据库版本时将当前表迁移到更改的表。
相反,我想要做的是删除所有表并重新创建一组新表。
不幸的是,通过挖掘 ActiveAndroid
,Database
版本测试发生在初始化阶段,其中我传递了 ActiveAndroid
Configuration
对象来配置数据库
。
此时,他们的实现仅检查 Assets 文件夹中的迁移文件。我不介意创建迁移文件来执行我需要的操作,但问题是我不知道如何在数据库中初始化当前表以重新创建它们。
有人知道如何使用 ActiveAndroid 做到这一点吗?
最佳答案
不确定我是否理解正确,但如果您正在开发中,那么最简单的方法就是卸载该应用程序,并在您再次安装它时让 Active Android 重新创建数据库架构。
在生产中,您需要使用迁移脚本 documentation 。
我遇到了类似的问题,我需要强制重新创建一些表。不幸的是,您需要手动执行此操作。不过,您可以使用 ActiveAndroid 帮助程序类来帮助您。
- 首先,您需要以某种方式处理旧表数据。
删除表格:
SQLiteUtils.execSql("如果存在Your_Table_Name则删除表");
使用 ActiveAndroid 类重新创建表。
SQLiteUtils.execSql(SQLiteUtils.createTableDefinition(Cache.getTableInfo(YOUR_MODEL_CLASS.class)));
将旧数据插入新创建的表中。
关于android - 如何在 ActiveAndroid 中删除并重新创建有关数据库版本更新的所有表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34495753/