从Sugar ORM中删除所有表中的所有数据
我在我的应用程序中使用了Sugar ORM 1.5,我想在用户注销时清除所有信息。从Sugar ORM中删除所有表中的所有数据
我想避免删除数据库文件,或者尽可能使用纯SQLite脚本。
我发现的唯一解决方案是在所有表上使用deleteAll,但我想知道是否有更好的方法来实现它。
问候,
编辑
我解决这个问题我已经删除删除数据库和SugarContext.init(context);
前后只调用SugarContext.terminate();
数据库。
看起来像Henry Dang在评论中指出的那样是最好的解决方案,它比删除所有数据更快。
这段代码适合我。它终止上下文删除所有表并重新创建它们:
SugarContext.terminate();
SchemaGenerator schemaGenerator = new SchemaGenerator(getApplicationContext());
schemaGenerator.deleteTables(new SugarDb(getApplicationContext()).getDB());
SugarContext.init(getApplicationContext());
schemaGenerator.createDatabase(new SugarDb(getApplicationContext()).getDB());
SchemaGenerator是com.orm,我SugarORM的版本是1.5。
工程就像一个魅力。我感谢你。 –
删除和重新创建表格会导致每次延迟...是否有任何解决方案只是清除记录! –
对谁只是想删除所有记录(未表或数据库)
public static void deleteAllrecords(Context applicationContext) {
List<Class> domainClasses = getDomainClasses(applicationContext);
for (Class domain : domainClasses) {
SugarRecord.deleteAll(domain);
}
}
如果你的目标是要删除的应用程序中的所有数据,那么其他用户不会删除数据库文件是最直观的方案 –
我有问题要删除数据库,它只在我重新启动应用程序时删除数据库。另一方面,我想更多地了解Sugar的数据处理能力 –