问题标签 [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.
android - 使用 sqldelight 为 getter 和 setter 加前缀
是否可以将 sqldelight 配置为所有 getter 和 setter 的前缀?
酒吧() - > 获取酒吧()
android - Sqlite 插入行错误
我被困在一个非常奇怪的错误上。我有一个表追随者,当我插入数据时,除了我的第一个条目外,它都可以工作。
我第一次调用该函数时,没有抛出任何东西,并且插入函数按预期返回 1。但是当我调用全选函数时,表是空的。
但是,当我再次使用不同的参数调用该函数时,数据确实被插入,并且表格显示一个条目(这个条目),但 ID 为 2。
我正在使用 Sqldelight。
还有sqldelight生成的Follower.CREATE_TABLE
编辑 :
我注意到一些奇怪的东西可能会有所帮助:
这仅在表为空时有效
我插入了一个追随者,这不起作用。但是当我插入另一个与第一个具有相同 ID 的追随者时(有一个主键自动增量)。我得到一个 UNIQUE 异常,但表仍然是空的。
不要犹豫,询问更多信息。
谢谢你。
android - 关于 SQLBrite 和 SQLdelight 的 createQuery 使用问题
我使用 SQLdelight 创建 sql 代码,比如
我查询喜欢:
但结果是空的。然后,我像这样改变sqlcode
它返回我 3 个结果。为什么?
android - 如何将 sqldelight 中的新编译语句与 sqlbrite 一起使用?
由于我无法从 BriteDatabase 获取 SQLiteOpenHelper 实例,如何从我的模型中创建已编译的插入/更新/删除语句?返回 SqlDelightStatement 的方法在 SqlDelight 0.5.1 中被标记为已弃用。我正在使用 SqlBrite 0.8.0,我看到有一个BriteDatabase#executeInsert(String, SQLiteStatement)
等等。
android - 如何在方形 sqldelight 中进行批量插入?
感谢 Square 提供 SQLDelight 并为 sqlite db 交互提供类型安全的 api。我正在执行单个插入行,如下所示:
有没有办法一次对数据列表执行批量插入?
java - 在 Android 中生成抽象类
我正在制作一个需要在线和本地数据库的应用程序。我有很多工作,但我有一个我需要为每个数据库表“设置”的东西的列表。
我正在使用 SQLDelight,所以我需要一个像这样的类(对于每个数据库表)
其中 {TableName} 应替换为每个表的名称。
对我来说,它看起来就像一个 for 循环,它将遍历我拥有的每个 .sq 文件的文件名(这些初始化我的数据库表和 {Tablename}Model 类 - 后者通过 SQLDelight),但我不知道如何实现这个.
android - SQLite 外键 | 不同的 SQ 文件
我有一个 Android 项目,其中包含一个用 SQLite 编写的本地数据库。存在一个 sqldelight 文件夹,其中包含数据库中每个表的 .sq 文件(User.sq、Routine.sq ...)。我能够访问/使用在我的项目中定义的表格和过程。
现在,我打算将外键关系添加到数据库中。但是,如果我尝试类似的东西 FOREIGN KEY (this_table_fk) REFERENCES OtherTable(other_table_pk)
,该项目将无法构建,因为我所在的 .sq 文件无法找到OtherTable
从 OtherTable.sq 中的语句创建的表CREATE TABLE
,或者通过扩展,它的列other_table_pk
。
如何允许 2 个不同的 .sq 文件“查看”另一个生成的表?
我尝试将 和 的 CREATE TABLE 语句ThisTable
放在OtherTable
同一个 .sq 文件中,但我得到mismatched input 'CREATE' expecting (<EOF>, IDENTIFIER, JAVADOC_COMMENT)
了第二个 CREATE TABLE 语句。不过,我更希望有一个解决方案,将每个表保存在自己的 .sq 文件中。
谢谢。
基本展示ThisTable.sq
和OtherTable.sq
ThisTable.sq:
);
其他表.sq:
java - SqlDelight 没有为 SQL 语句生成 SQL 查询字符串
在SqlDelight 文档中的示例中, HockeyPlayerModel
SqlDelight 从HockeyPlayer.sq
文件生成是在抽象类中实现的public abstract class HockeyPlayer implements HockeyPlayerModel
在这个类中,字符串SELECT_ALL_INFO
作为查询传递给db.rawQuery(SELECT_ALL_INFO, new String[0])
. 该字符串SELECT_ALL_INFO
是由select_all_info
里面的语句生成的HockeyPlayer.sq
。但是,在我的情况下,我的语句没有生成字符串。为什么是这样?
我的声明
我对ExerciseSetModel
SqlDelight 生成的实现
需要明确的是,在该行中找不到变量引用 NAMES_FOR_GROUPSdb.rawQuery(NAMES_FOR_GROUPS, new String[0])
android - 带有 SqlBrite/SqlDelight(离线数据库)和 Retrofit(Http 请求)的存储库模式
我正在使用 SqlBrite/SqlDelight 在 RxJava 中实现存储库模式,用于离线数据存储和 Http 请求的改造
这是一个示例:
当前实现用于Observable.amb
获取最新的 2 个流并返回db
流,以防db
有数据或服务器。server
为了防止在没有互联网的情况下提前失败,请delaySubscription
使用200ms
.
我尝试使用Observable.concat
,但 SqlBrite 流从不调用onComplete
,因此server
永远不会触发可观察的。
我也尝试Observable.combineLatest
了哪个不起作用,因为它server
在发出任何东西之前一直等待 observable 返回数据并且Observable.switchOnNext
也不起作用。
我正在寻找的是一个存储库,它:
- 保持对 SqlBrite (DB) 的订阅处于打开状态,以防数据库更新
- 始终从服务器获取数据并将其写入数据库
- 如果数据库中没有任何内容并且网络请求仍在进行中,则不应发出空结果。这是因为用户应该在第一次加载的情况下看到一个进度条。
android - 设置 SQLDelight 的问题
我正在尝试在我的项目中使用 SQLDelight。就代码生成而言,一切似乎都运行良好。不幸的是,我不能使用/build/generated/source/sqldelight/...
在我的项目中生成的接口。当我尝试创建一个实现生成模型的类时,它会用错误加下划线cannot resolve symbol 'InterfaceName'
。我准备了一个示例项目来展示我的问题。任何帮助让它工作当然非常感谢。