Il est peut-être un peu tôt à demander, mais est-il possible et comment migrer/mettre à niveau une application de base de données SQLite existante vers une nouvelle bibliothèque Android Persistance?Comment migrer une application SQLite existante vers la bibliothèque Persistance de pièce?
9
A
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();
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. –
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