【问题标题】:Can't migrate column renaming in room database无法迁移房间数据库中的列重命名
【发布时间】:2019-09-09 17:25:14
【问题描述】:

我在重命名房间数据库中的列时尝试运行迁移。 我的代码如下

    public static final Migration MIGRATION_11_12 = new Migration(11, 12) {
        @Override
        public void migrate(SupportSQLiteDatabase database) {
            database.execSQL("ALTER TABLE content RENAME COLUMN archiveCount TO dismissCount");
        }
    };

除了android studio 检测到以下错误

虽然,它正在编译没有任何问题。

在运行迁移测试时,上面的代码出现以下错误

android.database.sqlite.SQLiteException: near "COLUMN": syntax error (code 1)

【问题讨论】:

标签: android database-migration android-room


【解决方案1】:
database.execSQL("ALTER TABLE content RENAME archiveCount TO dismissCount");

ALTER TABLE content_new 重命名为内容 从查询中删除 COLUMN 关键字。

这里是语法

ALTER TABLE table_name 
RENAME column_name TO new_column_name;

【讨论】:

  • 同样的问题,android studio 显示同样的警告,并且在构建时出现同样的错误。
猜你喜欢
  • 2019-02-13
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-02
  • 2018-02-20
  • 2021-11-18
  • 2020-02-24
相关资源
最近更新 更多