我在 Heroku 的配置设置中解析 postgresql uri。但我似乎无法让它工作。任何帮助将不胜感激,我可能会直接遗漏一些东西。
这是使用的代码。
(def dev-db-info
{:db "dbname"
:user "username"})
(defn parse-db-uri
[uri]
(drop 1 (split uri #"://|:|@|/")))
(defn create-map-from-uri
[uri]
(let [parsed (parse-db-uri uri)]
(zipmap [:user :password :host :port :db] parsed)))
(defn db-info
[]
(if production?
(create-map-from-uri (System/getenv "DATABASE_URL"))
dev-db-info))
(defdb connected-db
(postgres (db-info)))
我从 uri 中检索到的地图如下所示:
{:db "dbname"
:port "5662"
:host "ec2-url.compute-1.amazonaws.com"
:password "pwd"
:user "username"}
我收到以下错误:
Connections could not be acquired from the underlying database!
编辑:
我已经放弃了使用 Korma,转而使用 Clojure.JDBC 0.2.3,它支持“connection-uri”,因此支持到 db 的 ssl 连接。Korma 目前不支持此功能。我将在 Github 上提交一个问题以允许这种连接方法。