【问题标题】:How to resolve the duplicate column name error in Room Db migration如何解决 Room Db 迁移中的重复列名错误
【发布时间】:2021-11-29 11:37:41
【问题描述】:

我添加了以下代码,用于在迁移时向SithluBody 表添加一列。

static final Migration MIGRATION_3_4 = new Migration(3, 4) {
    @Override
    public void migrate(SupportSQLiteDatabase database) {
        database.execSQL("ALTER TABLE SithaluBody ADD COLUMN has_thumb INTEGER NOT NULL 
        DEFAULT 0");
        database.execSQL("ALTER TABLE SithaluBody ADD COLUMN reacts TEXT");
    }
};

但我得到了错误 ==>

致命异常:android.database.sqlite.SQLiteException 重复的列名:has_thumb(代码 1 SQLITE_ERROR)。 我该如何解决?请帮帮我。

【问题讨论】:

  • 你有has_thumb 专栏吗?它似乎已经存在于您的 SithaluBody 表中。
  • 据我所知,“has_thumb”是新栏目。该错误来自firebase崩溃。而且它也影响到少数用户。其他人工作正常。

标签: android android-room


【解决方案1】:

这可能是两个问题之一:

  1. 您已添加 has_thumb 列。

  2. 您在设备/模拟器中安装了具有该列名称的旧版本,现在您正在尝试执行此迁移,它发生了冲突。

如果是第二种情况,请尝试在设备/模拟器中卸载或清除您的应用程序的数据,然后尝试重新安装该应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 2020-11-13
    • 2012-10-31
    • 2021-12-30
    相关资源
    最近更新 更多