Jak*_*sky 5 sqlite orm android android-room
我有一个无法更改或迁移的 SQLite 数据库,需要NUMERIC
使用 Room将一列映射到我的 Kotlin 类。我需要使用什么作为 Kotlin 类中字段的数据类型?使用 Boolean、Integer、Double、String 时,它失败并显示类似的错误消息:
Expected:
TableInfo{name='calendars', columns={monday=Column{name='monday', type='REAL', affinity='4', ...}
Found:
TableInfo{name='calendars', columns={monday=Column{name='monday', type='NUMERIC', affinity='
Run Code Online (Sandbox Code Playgroud)
编辑:我想可以更新数据库并更改列类型。但是我还是想知道有没有NUMERIC
用Room映射的方法。
如果您有现有数据库,请使用 SQLite 浏览器打开它,通过选择表并编辑它来更改数据类型(将类型更改为 REAL)。这会保留数据,之后您可以再次使用数据库。
目前,Room 似乎在映射这些数据类型时遇到问题,因此您必须在数据库中显式使用 REAL。
另外,分别在数据对象中注释您的字段可能是个好主意。
@ColumnInfo(typeAffinity = ColumnInfo.REAL)
public double yourField;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
796 次 |
最近记录: |