0

我正在关注heroku compojure 教程。当我到达教程中创建表的地方时,我收到以下错误消息:

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)

我已经尝试将我创建数据库的 linux 用户的名称和用户的密码添加到 DATABASE_URL 但没有运气。我在这里遗漏了一些东西,我不确定它是什么。db-spec 定义在哪里可能是正确的问题,但我不确定。

4

1 回答 1

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

希望这可以帮助。

于 2013-09-23T20:51:40.100 回答