1

我刚刚创建了一个 Luminus 应用程序,它有两个不同的地方定义了数据库访问。在 ragtime 的 project.clj 中:

:ragtime {:migrations ragtime.sql.files/migrations
          :database "jdbc:postgresql://localhost/foobar?user=db_user_name_here&password=db_user_password_here"}

在 src/foobar/db/core.clj 中:

(def db-spec
  {:subprotocol "postgresql"
   :subname "//localhost/foobar"
   :user "db_user_name_here"
   :password "db_user_password_here"})

有没有人编写过代码来分解 Heroku 提供的 DATABASE_URL,或者以某种方式将其用于连接?当然,我不是第一个想要这样做的人,对吧?

此外,在此过程中,最好有单独的开发和生产凭证。

4

1 回答 1

0

如果 ragtime 正在使用 clojure.java.jdbc(我相信它是),那么您应该能够直接将 DATABASE_URL 传递给它。有一点像:

(def spec (or (System/getenv "DATABASE_URL") "postgresql://localhost:5432/shouter"))

有关更多示例,请参阅Heroku 开发中心入门指南

于 2015-06-22T18:06:30.923 回答