11

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

我可能可以通过在每个表上启动截断来做到这一点,但是 ORMLite 有一些特定的方法来做到这一点吗?

4

3 回答 3

32

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

我认为您最好的选择是使用删除表TableUtils.dropTable(),然后使用 重新创建它TableUtils.createTable()

于 2012-05-13T19:01:03.317 回答
3

有一种可能的方法.. 删除数据库但此方法通常用于用户注销并使用另一个用户 ID 等登录时,在登录时创建数据库并在注销时删除数据库。

mContext.deleteDatabase("xxxxxx");

其中“xxxxx”是数据库名称。

于 2015-08-06T12:32:31.533 回答
1

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

于 2012-06-07T16:14:21.487 回答