androidx.room.migration
Interfaces
AutoMigrationSpec |
Interface for defining an automatic migration specification for Room databases. |
Cmn
android
N
|
Classes
Migration |
Base class for a database migration. |
Cmn
android
N
|
Top-level functions summary
Migration |
Migration( Creates |
android
|
Top-level functions
Migration
fun Migration(
startVersion: Int,
endVersion: Int,
migrate: (SupportSQLiteDatabase) -> Unit
): Migration
Creates Migration
from startVersion
to endVersion
that runs migrate
to perform the necessary migrations.
A migration can handle more than 1 version (e.g. if you have a faster path to choose when going version 3 to 5 without going to version 4). If Room opens a database at version 3 and latest version is < 5, Room will use the migration object that can migrate from 3 to 5 instead of 3 to 4 and 4 to 5.
If there are not enough migrations provided to move from the current version to the latest version, Room will clear the database and recreate so even if you have no changes between 2 versions, you should still provide a Migration object to the builder.
migrate
cannot access any generated Dao in this method.
migrate
is already called inside a transaction and that transaction might actually be a composite transaction of all necessary Migration
s.