gpt4 book ai didi

android - "Cannot add a NOT NULL column with default value NULL"自动数据库迁移后重新查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:55 24 4
gpt4 key购买 nike

我通过添加如下所示的整数字段更新了我的 AbstractFooEntity 类,并提高了数据库版本(数据库使用 new DatabaseSource(context, Models.DEFAULT, DB_VERSION).

@Entity
abstract class AbstractFooEntity {
// this was in DB schema v1
String someField;

// added in DB schema v2
int newField = 0;
}

当我部署此代码并在用户运行新版本的 Android 应用程序时执行(自动)数据库迁移时,我在运行时收到以下错误:“无法添加具有默认值的 NOT NULL 列空”

注释实体的正确方法是什么,以便框架在这种情况下正确处理自动数据库迁移?

最佳答案

我找到了解决办法。

database.execSQL("ALTER TABLE table_name ADD COLUMN colum_name INTEGER DEFAULT 1 not null");

在数据类型后添加命令:“DEFAULT value”将解决您的问题。

关于android - "Cannot add a NOT NULL column with default value NULL"自动数据库迁移后重新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com