gpt4 book ai didi

android - Room Android - 如何处理数据库版本升级

转载 作者:太空狗 更新时间:2023-10-29 16:11:12 24 4
gpt4 key购买 nike

我正在阅读有关 Android 体系结构组件 Room 的文章,想知道 Room 中是否有与可用的 SQLiteOpenHelper 方法中的 onUpgrade 等效的内容。

@Override
public void onUpgrade(final SQLiteDatabase database, final int oldVersion, final int newVersion) {}

最佳答案

您可以使用 https://developer.android.com/training/data-storage/room/migrating-db-versions.html

 Room.databaseBuilder(getApplicationContext(), MyDb.class, "database-name")
.addMigrations(MIGRATION_1_2,MIGRATION_1_3, MIGRATION_2_3).build();

static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE `Fruit` (`id` INTEGER, "
+ "`name` TEXT, PRIMARY KEY(`id`))");
}
};

static final Migration MIGRATION_2_3 = new Migration(2, 3) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE Book "
+ " ADD COLUMN pub_year INTEGER");
}
};

static final Migration MIGRATION_1_3 = new Migration(1, 3) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE Book "
+ " ADD COLUMN pub_year INTEGER");
}
};

关于android - Room Android - 如何处理数据库版本升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48204646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com