2017-09-23 10 views
1

룸 라이브러리의 모든 테이블을 잘라내는 가장 빠른 방법은 무엇입니까? 내 목표는 하나의 RxJava CompletableFromAction을 사용하여 전체 데이터베이스를 지우는 것입니다. 많은 테이블에서 삭제하는 @을 만들 수 있습니까?모든 테이블 잘라 내기 - Room

+0

당신은'사용할 수 있습니다 작동 할 수 있습니다;의'가'Query' @ 여러 SQL 문을 가지고 - 나는 그것을 시도하지 않았습니다. 그렇지 않으면, 1.0.0 베타에서'@ Transaction'을 사용하여 개별 테이블 잘라 내기 요청을 속도를위한 단일 트랜잭션으로 래핑 할 수 있습니다. – CommonsWare

답변

0

이 테스트를하지 않은 그러나 이것은

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

테이블을 삭제합니다. 그들을 자르지 않습니다. – CommonsWare

+0

그래, 나도 알아, 내가 문제를 해결할 수있는 두 가지 방법을 찾아야 관리 할 수 ​​있습니다. 먼저 rx ** merge ** 연산자를 사용하고 secound는 Room ** @ Transaction ** annotation을 사용합니다. 내가 원했던 것처럼,하지만 내가 할 수있는 최선, 당신의 도움을 주셔서 감사합니다. – InvictaAnima

+1

@InvictaAnima는 당신의 솔루션을 제발 제공 할 수 있습니까? –