java - 在android中迁移房间数据库
问题描述
我刚刚在 android 中更新了我的数据库,无法迁移应用程序。
我所做的更改是autoGenerate = true
在我的@PrimaryKey
@PrimaryKey(autoGenerate = true)
private int id;
我尝试了很多东西,但我无法让迁移工作。
问题出现在我插入以下代码的 AppDatabase 类中:
public static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE inventory");
}
};
ALTER TABLE
库存不是正确的命令,但我不知道是什么
解决方案
SQL 语句不正确ALTER TABLE inventory
。您没有指定要在表格上更改的内容。
例如:ALTER TABLE inventory ADD name TEXT
这意味着要在 table 中添加name
type中的新列。TEXT
inventory
虽然您的情况是约束更改,但无法更改约束。但是您可以删除约束并再次添加它。
请在此处阅读答案: 如何更改约束
推荐阅读
- c++ - 如何解决 Qt Unresolved 错误代码 0x80040216?
- typescript - React Natice Expo:如何将「BottomTab.Screen」名称类型别名更改为日语?
- c# - 如何将我的客户数据添加到 SQL 数据库中?
- vba - Auto BCC - Multiple Email Addresses
- css - 如何从表中删除列
- php - PHP Filter Sanitize Number Int 去除标志
- html - 在 div JS 中显示 textarea 中的文本
- reactjs - Material Design 中两个按钮之间的空间
- python - 整数字段已更改但仍前缀零不显示
- swift - 快速循环运行多个音频