11

ORMLiteを使用するアプリケーションがあります。データベース全体をリセットする関数を作成する必要があります(基本的に、すべてのデータベースからすべての行を削除し、自動インクリメントをリセットし、インデックスをリセットする必要があります)。

私はおそらくすべてのテーブルで切り捨てを起動することでこれを行うことができますが、ORMLiteにはこれを行うための特定の方法がありますか?

4

3 に答える 3

32

ORMLiteには、データベース全体をリセットするための特別なメソッドはありません。TableUtils.clearTable(connectionSource, dataClass))テーブルからすべての行を削除するメソッドをサポートします。これにより、インデックスがクリアされますが、自動インクリメントはリセットされません。また、「インデックスのリセット」が何を意味するのかは、クリアするだけではわかりません。自動インクリメントをリセットするプロセスはデータベースに非常に依存するため、ORMLiteはとにかくネイティブサポートを持たない可能性があります。

最善の策は、を使用してテーブルを削除してから、を使用してテーブルをTableUtils.dropTable()作成することTableUtils.createTable()だと思います。

于 2012-05-13T19:01:03.317 に答える
3

可能な方法は1つあります。データベースを削除しますが、この方法は通常、ユーザーがログアウトして別のユーザーIDでログインする場合など、ログイン時にデータベースが作成され、ログアウト時にデータベースが削除される場合に使用されます。

mContext.deleteDatabase("xxxxxx");

ここで、「xxxxx」はデータベース名です。

于 2015-08-06T12:32:31.533 に答える
1

TableUtils.createTableIfNotExists(source、dataClass)を使用することもできます。テスト時に役立ちます。

于 2012-06-07T16:14:21.487 に答える