问题标签 [sqldelight]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - sqldelight:如何确保只调用一次`create`
如何确保Database.Schema.create()
在使用应用程序时只调用一次?您可以添加...IF NOT EXISTS...
到表定义中,然后在每次启动期间执行 SQL 指令,但在第一次运行后不会创建表,但是,我不确定这是否是正确的方法。
或者,我可以查询这些表并检查它们是否已经存在。
我正在寻找的是这样的:
我以为我可以为此使用迁移,但是迁移对于 sqldelight 的工作方式似乎与我预期的不同(我试图在迁移中创建表,但这不起作用)。
android - 如何在 Kotlin 协程中使用 Sqldelight
SqlDelight 显然有 Kotlin 协程扩展函数,但我不知道如何实现它们,因为我找不到文档。
我有一个看起来像这样的普通查询:
我可以把它变成一个挂起功能吗?
android - 如何使用 sqldelight 读取位于资产中的 db 文件 - Android
我有大量的数据库,我只需要在安装应用程序后创建,这就是我将数据库文件放在资产文件夹中的原因,但我不知道如何使用 SQLDELIGHT 读取它,任何想法?
android - SQLDelight - 修改子表时在父表上发出
当使用 SQLDelight 更新子表时,我还没有遇到在父表上发出通知的明显方法。
这是一个 E/R 图,大致概述了我在玩的结构:
这大致转换为以下数据库模式:
这些.sq
文件:
而我想要发生的是,当 T 的属性被更新时,SELECT *
通知 S(以及 R)上的查询,同样,当 S 的属性更新时,通知 R 上的查询。
有没有人遇到过使用 SQLDelight 执行此操作的方法?
在 SqlBrite 中,我可以在查询中指定一组触发器表,这样当修改任何触发器表时,查询将重新运行,并将结果集发送到下游。所以我可以将我的触发器表声明为R
, S
, 和T
onSELECT * FROM R
并修改为R
, S
, 或T
导致它被重新查询。
sqlite - Sqlbrite 数据库如何使用调度器
我是 sqlbrite 数据库的新手,在创建数据库包装器时它要求 rxjavaSchedulers
我想知道的是
我在包装器中传递的调度程序是否用于运行
insert
、delete
等update
查询
或者
它是否仅用于 QueryObservable 即 createQuery 用于观察数据库表。
谁能帮我这个?
android - 使用 Sqldelight 更新对象数据
我试图弄清楚如何在传递对象Update
的文件中编写查询,.sq
它将更新整行
我知道您可以执行正常的更新语句,在其中设置具有值的列,但是有没有办法只传递数据对象,类似于我可以插入这样的对象
我在类似地更新记录时找不到任何文档
build.gradle - 无法解析 com.squareup.sqldelight:native-driver:1.3.0
我正在尝试构建一个 Kotlin 多平台项目作为 iOS 和 Android 应用程序的共享模块。我正在尝试集成SQLDelight,但在同步 Gradle 时遇到了这个错误。下面分别是error和build.gradle文件。
错误
无法解析 com.squareup.sqldelight:native-driver:1.3.0。要求:项目:
可能的解决方案: - 声明提供工件的存储库,请参阅 https://docs.gradle.org/current/userguide/declaring_repositories.html上的文档
构建.gradle
android - 如何更改 SQLDelight 中表的主键?
我们正在做一些项目,我们有 SQLDelight 数据库和 DBRevisionPhrase 表:
在我们想添加一个新字段 reviewType,并将其添加到 PRIMARY KEY 之后,结果是这样的:
但是我们也需要迁移,尝试这个我们失败了:
有错误:
我们是否可以以某种方式更改表的主键,或者我们需要删除表,并通过移动所有数据创建新表?
database - SqlDelight Flow 扩展不适用于本机
运行时环境 SQLDelight 版本:1.4.0(也尝试使用 1.3.0)。应用操作系统:iOS(多平台)
描述错误
我们有一个多平台(Android/iOS)项目,我正在尝试在通用代码中使用 Flow 扩展。我可以看到 SqlDelight 数据库在两个平台上都运行良好。虽然流仅在 Android 上触发(没有问题),但在 iOScollect
上不会触发流中的任何事件。也没有显示崩溃或相关日志。根据文档https://cashapp.github.io/sqldelight/multiplatform_sqlite/coroutines/添加扩展。
代码在主线程上运行。
任何想法如何调试?也许应该启用数据库中的某些内容以允许回调?
database - SQLDelight v1.4 不生成界面
从v1.4开始,SQLDelight 只生成数据类。之前,该工具生成接口和该接口的默认实现。这很容易组合具有相关投影的对象。有什么改变可以让这些界面恢复吗?