【问题标题】:Migrating room database in android在android中迁移房间数据库
【发布时间】:2018-05-21 01:31:41
【问题描述】:

我刚刚在 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 库存不是正确的命令,但我不知道是什么

【问题讨论】:

    标签: java android


    【解决方案1】:

    SQL 语句不正确ALTER TABLE inventory。您没有指定要更改的内容。

    例如:ALTER TABLE inventory ADD name TEXT 表示TEXT 类型中有一个新列name 要添加到表inventory 中。

    虽然您的情况是约束更改,但无法更改约束。 但是您可以删除约束并重新添加它。

    请在此处阅读答案: How to Alter Constraint

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2019-02-13
      • 2018-11-11
      • 1970-01-01
      • 2021-09-02
      • 2021-11-18
      • 2020-05-17
      • 1970-01-01
      • 2021-12-11
      相关资源
      最近更新 更多