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



使用korma.db时,defdb可以使用sqlite3助手来建立与sqlite3数据库的连接。然而,我已经尝试将数据库放在项目目录的根目录、project.clj和resources目录上,但当我尝试使用数据库时,我会得到:

无法使用SQL执行查询:选择"examples"。*FROM"examples"::[]SQL异常:消息:[SQLITE_ERROR]SQL错误或缺少数据库(没有这样的表:示例)

不用说,我的sqlite数据库包含一个示例表。当尝试这样做时,我得到一个零字节的sqlite.db文件,放在根项目目录上

顺便说一句,我是在项目中从lein-repl开始做这件事的。

编辑:当它失败时,我会这样做:

(use 'korma.db)
(defdb db (sqlite3 {:db "filename.db"}))
(use 'korma.core)
(defentity examples)
(select examples)

万一有人想知道或遇到这个。。。

使用版本[korma "0.4.2"][org.xerial/sqlite-jdbc "3.7.15-M1"]在我的project.clj:中

我的项目结构看起来像:

root/project.clj
root/db/dev.sqlite3
root/src/...

这就是我使用korma访问数据库的方式:

(use 'korma.db)
(defdb mydb {:classname "org.sqlite.JDBC"
      :subprotocol "sqlite"
      :subname "db/dev.sqlite3"})

基本上,使用subname,我能够在lein项目的根目录中进行搜索。我在上面的目录结构的子名称中添加了db/

相关内容

  • 没有找到相关文章

最新更新