我跟随heroku compojure tutorial。当我到达教程中创建表的那一点时,我收到以下错误消息:
user=> (require '[clojure.java.jdbc :as sql])
nil
user=> (sql/with-connection (System/getenv "DATABASE_URL")
#_=> (sql/create-table :testing [:data :text]))
IllegalArgumentException db-spec postgresql://localhost:5432/lord is missing a required parameter clojure.java.jdbc.internal/get-connection (internal.clj:147)
我已经尝试添加我创建db的linux用户的名称和用户的密码 到DATABASE_URL但没有运气。我在这里遗漏了一些东西,我不确定它是什么。 db-spec定义在哪里可能是正确的问题,但我不确定。
答案 0 :(得分:0)
尝试将连接放入这样的地图中(这是特定于mysql但你得到的要点):
(def db-conn {
:classname "com.mysql.jdbc.Driver" ;must be in classpath
:subprotocol "mysql"
:subname (str "//" DBHOST ":" DBPORT "/" db-name)
; Any additional keys are passed to the driver as driver-specific properties.
:user DBUSER
:password DBPASS})
(sql/with-connection db-conn
(sql/create-table :testing [:data :text]))))
希望这有帮助。