在 Android 上使用 Room for sqlite 库时,我注意到虽然数据库的第一个版本的表是自动创建的,但我只看到了有关如何通过手动编写 sql-commands 迁移到新版本的教程-类。
这似乎很奇怪,因为可以自动生成这些迁移(例如 django),而且 V1 的创建命令是自动生成的,但如果我稍后添加表,我必须手动输入命令。
那么我只是错过了它还是我真的必须编写迁移?
最佳答案
现在支持房间2.4.0
.
目前仅提供测试版2.4.0-beta01
.我已经在我的项目中测试了它的工作正常。
// Database class before the version update.
@Database(
version = 1,
entities = {User.class}
)
public abstract class AppDatabase extends RoomDatabase {
...
}
// Database class after the version update.
@Database(
version = 2,
entities = {User.class},
autoMigrations = {
@AutoMigration (from = 1, to = 2)
}
)
public abstract class AppDatabase extends RoomDatabase {
...
}
见 doc
关于android - Android-Room 可以自动创建迁移吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57453096/