0

我正在使用 SQLDelight 作为缓存制作 KMM 应用程序,最近我将数据库实体更改为使用 Text(String) 作为 id 字段而不是 Int,现在插入时出现错误,我可能只是缺少一些 sqlDelight 知识

这是我的桌子:

 CREATE TABLE sidework_Entity(
   id TEXT NOT NULL PRIMARY KEY,
   name TEXT NOT NULL,
   employees TEXT NOT NULL,
   todoToday INTEGER AS Boolean DEFAULT 0
);

这是我的插入方法:

insertSidework:
INSERT OR REPLACE
INTO sidework_Entity(
       id,
       name,
       employees,
       todoToday
) VALUES (?,?,?,?);

这是我的错误:

statement aborts at 5: [INSERT OR REPLACE
    INTO sidework_Entity(
           id,
           name,
           employees,
           todoToday
    ) VALUES (?,?,?,?)] datatype mismatch

我认为这很可能是我在 id 字段上设置的主键或类似的东西,但文档有点短。

4

1 回答 1

0

这个问题的解决方案实际上是运行迁移。尽管删除应用程序以清除数据库缓存是用于测试目的的有效解决方案。对于生产中的应用程序,这不是正确的方法。

运行迁移的文档

Stackoverflow 回答与解释

于 2022-01-28T09:40:51.430 回答