ORMLiteを使用するアプリケーションがあります。データベース全体をリセットする関数を作成する必要があります(基本的に、すべてのデータベースからすべての行を削除し、自動インクリメントをリセットし、インデックスをリセットする必要があります)。
私はおそらくすべてのテーブルで切り捨てを起動することでこれを行うことができますが、ORMLiteにはこれを行うための特定の方法がありますか?
ORMLiteには、データベース全体をリセットするための特別なメソッドはありません。TableUtils.clearTable(connectionSource, dataClass))
テーブルからすべての行を削除するメソッドをサポートします。これにより、インデックスがクリアされますが、自動インクリメントはリセットされません。また、「インデックスのリセット」が何を意味するのかは、クリアするだけではわかりません。自動インクリメントをリセットするプロセスはデータベースに非常に依存するため、ORMLiteはとにかくネイティブサポートを持たない可能性があります。
最善の策は、を使用してテーブルを削除してから、を使用してテーブルをTableUtils.dropTable()
再作成することTableUtils.createTable()
だと思います。
可能な方法は1つあります。データベースを削除しますが、この方法は通常、ユーザーがログアウトして別のユーザーIDでログインする場合など、ログイン時にデータベースが作成され、ログアウト時にデータベースが削除される場合に使用されます。
mContext.deleteDatabase("xxxxxx");
ここで、「xxxxx」はデータベース名です。
TableUtils.createTableIfNotExists(source、dataClass)を使用することもできます。テスト時に役立ちます。