我使用 VS Code Calva扩展编写 Clojure ,它使用clj-kondo对我的代码执行静态分析。
我正在使用HugSQL从 SQL 查询和语句创建 Clojure 函数。
我知道我可以使用像conman这样的库来处理数据库连接和 HugSQL 集成,事实上我过去使用过它并且我喜欢它,但这次我想保持原样并自己与 HugSQL 交谈。
HugSQL 的def-db-fns宏接受一个 SQL 文件,并根据该文件中包含的 SQL 查询和语句创建 Clojure 函数。
我下面的代码有效,但 clj-kondo 抱怨这seed-mytable!是一个未解析的符号。
(ns my-app.db
"This namespace represents the bridge between the database world and the clojure world."
(:require [environ.core :refer [env]]
[hugsql.core :as hugsql]
[nano-id.core :refer [nano-id]]))
;; This create the function seed-mytable!, but clj-kondo doesn't (cannot?) know it.
(hugsql/def-db-fns "sql/mytable.sql")
;; The functions …Run Code Online (Sandbox Code Playgroud)