无法将我的compojure应用程序连接到postgres db(遵循heroku教程)

时间:2013-03-14 04:04:27

标签: clojure postgresql-9.1 leiningen compojure

我跟随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定义在哪里可能是正确的问题,但我不确定。

1 个答案:

答案 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]))))

希望这有帮助。