2017-09-23 6 views
1

Quel est le moyen le plus rapide de tronquer toutes les tables de la bibliothèque de pièces? Mon but est d'effacer la base de données entière en utilisant un RxJava CompletableFromAction. Est-il possible de créer @Query qui supprime de nombreuses tables?Tronquer toutes les tables - Pièce

+0

Vous pourriez être en mesure d'utiliser ',' avoir plusieurs instructions SQL dans un '@ Query' - Je n'ai pas essayé. Sinon, vous pouvez utiliser @ Transaction dans la version bêta 1.0.0 pour emballer les demandes de troncature de table individuelle en une seule transaction pour plus de rapidité. – CommonsWare

Répondre

0

n'ont pas tester cela, mais cela pourrait fonctionner

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

Cela supprime les tables; il ne les tronque pas. – CommonsWare

+0

yup, je l'ai également remarqué, btw je parviens à trouver deux façons de résoudre mon problème, d'abord utilise rx ** merge ** opérateur et secound utilise Room ** @ Transaction ** annotation, non de c'est une requête db comme je voulais, mais je suppose que c'est le meilleur que je peux faire, merci pour votre aide – InvictaAnima

+1

@InvictaAnima pouvez-vous fournir votre solution s'il vous plaît? –