ORMLite重置所有表

时间:2012-05-13 10:21:54

标签: android ormlite

我有一个使用ORMLite的应用程序。我需要创建一个函数来重置整个数据库(基本上我需要删除每个数据库中的所有行,重置自动增量和重置索引)。

我可能可以通过在每个表上启动truncate来实现这一点,但ORMLite是否有一些特定的方法来执行此操作?

3 个答案:

答案 0 :(得分:31)

ORMLite没有重置整个数据库的特殊方法。它支持TableUtils.clearTable(connectionSource, dataClass)) method删除表中的所有行,这将清除索引,但这不会重置自动增量。另外,我不确定“重置索引”意味着什么不仅仅是清除它们。重置自动增量的过程将依赖于数据库,因此ORMLite很可能永远不会有本机支持。

我认为最好的选择是drop the table using TableUtils.dropTable(),然后重新create it with TableUtils.createTable()

答案 1 :(得分:3)

有一种方法可以..删除数据库,但这种方法通常在用户注销并使用其他用户ID等登录时使用,在创建登录数据库并删除注销数据库时。

mContext.deleteDatabase("xxxxxx");

其中" xxxxx"是数据库名称。

答案 2 :(得分:1)

您还可以使用TableUtils.createTableIfNotExists(source,dataClass)。在测试时很有用。