2017-05-20 4 views

Répondre

9

En supposant que vos entités de pièce correspondent à vos schémas de table actuels, vous pouvez continuer à utiliser la même base de données/tables.

Chambre gère une table maître qui est initialisé sur la création ou mise à jour de la base de données, vous devez augmenter votre version de base de données et de fournir une migration fictive:

@Database(entities = SomeEntity.class, version = EXISTING_VERSION + 1) 
public class MyDatabase extends RoomDatabase { 
    // ... 
} 

MyDatabase db = Room.databaseBuilder(context, MyDatabase.class, "db_name") 
        .addMigrations(new Migration(EXISTING_VERSION, EXISTING_VERSION + 1) { 
         @Override 
         public void migrate(SupportSQLiteDatabase database) { 
          // NOOP 
         } 
        }).build(); 
+0

N'a pas encore testé, mais je Notez-le comme une réponse, puisque le paramètre de nom de base de données vous permet probablement d'utiliser n'importe quelle base de données précédente et déjà existante. –

+0

Connaissez-vous un moyen de tester cette migration? J'ai regardé https://developer.android.com/topic/libraries/architecture/room.html#testing mais je ne suis pas sûr de savoir comment tester une migration de sqlite existante dans la pièce. – AdamMc331