【问题标题】:Truncate all tables - Room截断所有表格 - 房间
【发布时间】:2017-09-23 16:25:29
【问题描述】:

截断房间库中所有表格的最快方法是什么?我的目标是使用一个 RxJava CompletableFromAction 清除整个数据库。是否可以创建从许多表中删除的 @Query

【问题讨论】:

  • 您可以使用;@Query 中包含多个SQL 语句——我没有尝试过。否则,您可以在 1.0.0 测试版中使用 @Transaction 将单个表截断请求包装到单个事务中以提高速度。

标签: android rx-java rx-android android-room


【解决方案1】:

尚未对此进行测试,但这可能有效

@Query("select 'drop table ' || name || ';' from sqlite_master where type = 'table';")
ReturnedType deleteEverything();

【讨论】:

  • 删除表格;它不会截断它们。
  • 是的,我也注意到了,顺便说一句,我设法找到了两种方法来解决我的问题,首先是使用 rx merge 运算符,其次是使用 Room @Transaction 注释,不是我想要的一个数据库查询,但我想这是我能做的最好的,谢谢你的帮助
  • @InvictaAnima 你能提供你的解决方案吗?
猜你喜欢
  • 2011-08-27
  • 2015-01-18
  • 2021-04-10
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多