问题标签 [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 回答
805 浏览

database - 在 Clojure 中,如何配置 Korma 和 Ragtime 以使用相同的数据库?

我正在尝试使用 Clojure 中的数据库。此时,我想使用Ragtime来修改数据库架构本身,使用Korma来查询和插入数据,并使用H2作为实际的数据库。

我认为我正确使用了它们,但是当我尝试使用 Korma 访问表时出现错误。

这是我的project.clj:

所以我要导入 korma、h2database 和 ragtime。我不确定它是否将 Ragtime 迁移指向正确的数据库位置。

我创建了一个迁移文件,内容如下:

然后运行它:

我制作了一个简单的 core.clj 文件,它只从 users 表中选择所有内容:

但是在运行它时lein run,我得到一个错误:

我的怀疑是我h2在 core.clj 的调用中指向另一个数据库文件,而不是一个 ragtime 正在迁移,但我不确定如何正确指定它。如何让这两个库使用同一个数据库?

0 投票
2 回答
310 浏览

clojure - 如何在 korma 中访问其他模式中的表?

在 SQL 中,访问其他模式中的表很简单:

我怎么能在科尔马做到这一点?我实际上要做的是访问information_schema.tables表。db所以定义另一个defdb不会有帮助。

我试图定义实体,但是失败了。

0 投票
2 回答
110 浏览

sql - 从 Korma 中的实体中排除字段

我有一些表有很多列,有时我需要从 50-60 中排除 5-6。是的,我的表是 3NF 规范化的,是的,有些表甚至有 60 多列,如果这对你亲爱的读者来说听起来很奇怪,请尝试对生物实体进行建模。

对于我的问题:

entity-fields是否可以在 Korma 的选择中默认排除字段,而不是在实体定义中指定数十列?

0 投票
1 回答
584 浏览

clojure - 如何将 korma 选择结果转换为 json 用于休息服务(组合)?

我正在使用 compojure、cheshire 和 korma(以及 postgre db)来创建休息服务。我创建了一个包含两个字符串字段(名称和描述)的表,其结构如下:

我可以将记录插入到该表中,但是当我尝试执行时

并从服务器返回结果

我收到这样的错误:java.lang.IllegalArgumentException 没有方法的实现::render of protocol:#'compojure.response/Renderable found for class:clojure.lang.PersistentVector

如我所见,我需要将帖子集合转换为 json。怎么做?

0 投票
2 回答
172 浏览

postgresql - 如何通过比较SqlKorma(clojure)中的两个字段来制作where子句

我正在使用 Postgresql 和 sqlkorma 0.4。

怎么做:

我试过了

但它不起作用。

0 投票
1 回答
226 浏览

korma - 我可以在 Korma 的两个字段上使用 distinct 吗?

我有一个包含四个字段的表:ab和。cd

我想要一个像这样的查询:

该文档建议类似

但是生成的 SQL 是这样的:

我想要的是:

如何将 distinct 修饰符限制为仅两个字段?

尝试使用不同的修饰符值(例如DISTINCT (a, b))会导致 SQL 查询错误。

这是一个完整的例子:

0 投票
1 回答
247 浏览

postgresql - 在 SQLKorma 中为 Postgres 表达(参数化)ANY(数组)查询

我目前正在将SQLKorma用于一个项目,但我遇到了一些障碍。

我用两个左连接构造了一个查询;其中一个包含一个数组,其中包含我希望在我的WHERE子句中使用的条目。

这在 SQL 中表达起来很简单。请注意,这是一个主要经过编辑的查询。

关于的部分ILIKE ANY是我希望能够翻译成 Korma 的部分。

我从文档中了解到该ANY子句不支持该WHERE子句,我应该考虑使用raworexec-raw代替。

有了这个,我想将一个参数化的raw字符串传递到WHERE子句中来完成我想要做的事情。

这是我尝试过的,但它确实在 Postgres 中出现语法错误而失败:

具体来说:

我将如何使用 Korma 来解决这个问题?我必须求助于一个完整的exec-raw查询吗?

0 投票
1 回答
87 浏览

clojure - 选择korma的字段功能不拒绝列?

我在 windows 上使用 sqlite3 数据库玩弄 clojure 及其 korma 库。我以 7web 书为例。它介绍了select*函数及其朋友。

但是使用该fields函数会添加字段而不是限制。

我错过了什么吗?

0 投票
2 回答
148 浏览

mysql - 我应该如何处理 clojure 项目的 sql 模式管理?

我正在使用 clojure 开发一个 Web 项目,我将有一个存储信息的 mysql 数据库。我计划将Korma用于数据 CRUD,但我正在尝试找出管理实际创建表的最佳方法。

我倾向于只编写一个运行CREATE TABLE命令的 bash 脚本,但我觉得这不是做事的正确方法,并且不允许将来进行迁移。我应该为此使用 Clojure 库吗?重击?完全不同的东西?

0 投票
1 回答
95 浏览

unit-testing - Compojure/ring 应用程序,在测试范围之外初始化数据库

如何初始化我的数据库,以便我的 (def db ...) 在运行单元测试时不会尝试初始化数据库(因为那时它不会是数据库)。

我在函数(with-redefs)中模拟了 sql 和 dml,但到目前为止我发现的所有示例都只是直接在命名空间中定义数据库(例如,不包含在函数中)。