问题标签 [korma]

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.

0 投票
1 回答
152 浏览

sql - 在 Korma 中构建 WHERE 条件时,为什么 eval 可以在宏不起作用的地方工作

我正在尝试将 WHERE 条件动态添加到 Korma SQL 查询

我正在尝试动态构建对 korma 的where函数的调用。调用看起来像(where query (or (between :freq [100 200]) (between :freq [300 400]) ... )). 辅助函数make-conds列出where函数的参数,例如:(or (between :freq [100 200]) ...

我尝试了以下方法来构建动态 where 调用。只有第一个,有eval作品的。为什么?有一个更好的方法吗?

免责声明:我是 Clojure 和 Korma 的新手

0 投票
1 回答
366 浏览

sql - 用于将 REST 查询转换为数据库查询的库(或库)?

我想使用 clojure 构建一个带有 RESTful API 的 Web 服务,该 API 公开存储在关系数据库(本例中为 mysql)中的资源。我想使用一个库,给定 db 模式的规范,它将传入的请求转换为 db 查询或 korma 构造。

示例可能是:

GET /users?status=4

翻译成类似的东西:

SELECT * FROM `users` WHERE `status` = 4;

或者:

PUT /users/12

将会:

UPDATE `users` SET ... WHERE `id` = 12

有什么可以促进这一点的吗?

0 投票
1 回答
205 浏览

clojure - Korma 中的 with 子句是否会针对关系中的每个项目触发一个查询?

Korma 页面上的文档说,在实体下,

所以,如果我理解正确,如果一位老师有很多学生,并且我希望所有学生都嵌套在每个教师地图中,那么 Korma 将为每个教师生成一个 SQL 查询?

当我们拥有数以百万计的老师时,这不会影响表现吗?

0 投票
1 回答
802 浏览

sqlite - 使用 clojure 的 korma sqlite3 助手时,sqlite3 数据库的默认路径是什么?

使用 korma.db 时,defdb 可以使用 sqlite3 助手来建立与 sqlite3 数据库的连接。但是,我尝试将数据库放在项目目录的根目录、project.clj 旁边以及资源目录中,但是当我尝试使用 db 时,我得到:

使用 SQL 执行查询失败:SELECT "examples".* FROM "examples" :: [] SQLException: Message: [SQLITE_ERROR] SQL 错误或缺少数据库(没有这样的表:示例)

不用说我的 sqlite 数据库包含一个示例表。尝试执行此操作时,我在根项目目录上得到一个零字节的 sqlite.db 文件。

顺便说一句,我是从项目中的 lein repl 做的。

编辑:这是我失败时所做的:

0 投票
1 回答
1355 浏览

postgresql - 如何使用 korma 在 postgresql 上插入 clj-time 日期时间对象

为了避免处理 java 的日期和时间对象,我使用了 clj-time。当我将它与 korma 的 sqlite3 助手一起使用时,它工作正常,但是当我做类似的事情时

我被告知系统无法推断对象类型。

我一直在四处寻找并询问,似乎 clojure.java.jdbc 支持一个名为 ISQLValue 的协议正是为了处理这样的事情。它用于扩展对象,以便它们可以在数据库中表示自己。然而,最新版本的 korma 使用 CJJ 的 0.2 版本。

每次需要将日期时间对象呈现给 psql 数据库时,是否有任何替代方法可以使用 clj-time.coerce/to-sql-date?

0 投票
1 回答
632 浏览

clojure - Korma中`oracle`函数的确切用法和clojure代码的含义?

我正在尝试使用 Korma 连接到 Oracle 数据库。首先,我尝试使用此代码并成功连接。

但我发现还有一个更方便的功能korma.db.oracle。所以代码看起来像这样简化:

但它失败了。它试图localhost. 当我检查oracle函数的结果时,我发现有一些奇怪的东西。

我检查了 Korma 源代码,oracle函数代码是:

简而言之,我的问题是:

  • 函数的具体用法是oracle什么?我错过了什么?
  • 函数代码oracle对我来说看起来很奇怪。谁能解释一下代码,尤其是参数部分...[{:keys [host .... ] :or {...} :as ...}]
0 投票
2 回答
245 浏览

postgresql - Clojure Korma 可以在 Postgres 中生成 WITH - RETURNING 查询吗?

我正在尝试从 Postgres 文档中重现此查询:

Korma 真的可以做到吗(当然,除了编写原始 SQL 之外)?我在文档中没有提到它。

谢谢...

0 投票
1 回答
389 浏览

clojure - 从 Korma 的表中不选择任何字段

我正在尝试跨多个表进行连接(三个表加上中间的连接表)。我认为 korma 正在懒惰地评估最后一次加入。我要做的是添加一个限制连接中第一个表的结果的条件,但我只对连接中最后一个表的字段感兴趣。

例如,假设我有clubs,peoplehobbies表,以及people-to-hobbies最后两个的连接表。每个俱乐部可以有很多人,每个人可以有很多爱好。

我正在尝试获取属于特定俱乐部的人的所有爱好的完整详细信息,但我不想要club表格中的任何字段。连接表意味着 korma 将创建两个查询,一个用于获取特定俱乐部中的所有人员,另一个用于通过people-to-hobbies连接表检索该人的爱好。

我的 korma 查询看起来像这样:

问题是我还没有指定我要从哪些字段中选择clubspeople,默认是选择*。我怎样才能不包含这些表中的字段?这是否可能,或者hobbies延迟加载的事实是否意味着 korma 必须在第一个查询中返回一些结果(这让我得到一个过滤的人员列表),所以当我稍后来询问它的爱好时,它有运行第二个查询所需的 ID?

0 投票
1 回答
310 浏览

clojure - 未选择有效的数据库连接

我正在使用 Clojure 开发一个 Web 项目,但遇到了以下问题。

我已经使用以下代码定义了与korma的数据库连接(ns foo.models.db)

LightTable中,我可以使用 Instarepl 初始化服务器(use 'foo.repl) (start-server),并且数据库一切正常。

但是,当我尝试在控制台中使用 运行项目时lein ring server,它会抛出一个异常告诉我

未选择有效的数据库连接

关于如何解决这个问题的任何想法?谢谢。

0 投票
1 回答
662 浏览

clojure - 如何将 JDBC 支持的数据库 (Informix) 添加到 korma

我需要采取哪些步骤才能让我的 Informix JDBC 驱动程序成为 korma 中受支持的数据库?Informix 有一个 jdbc 驱动程序,我已经用驱动程序的演示 Java 程序进行了测试。我的连接参数有效。

我已经开始了一个 Clojure 项目,但我一直在尝试什么,甚至出现错误,所以我可以从那里继续前进,更不用说连接了。

我的 Informix JDBC 驱动程序 3.50 在 maven 中

以下示例适用于 postgres。我想为 Informix 做这个。我想知道我必须做什么才能使用类似的东西为 Informix 数据库创建连接

我很确定我不能在上面的示例中只使用“informix”来代替 postgres,并且会发生奇迹。我只是对要创建什么定义感到困惑。任何帮助或指向示例的指针将不胜感激。