如何在Luminus或Compojure项目中设置Korma?

时间:2016-05-16 14:03:01

标签: clojure compojure korma luminus

我正在尝试使用Korma并将其设置为我的Luminus项目。 Korma为Postgresql提供了以下帮助:

;; how exactly should I pass the connection string here?
;; in particular, for production env.

(def pg (postgres ..))

(defdb korma-db db)

(defdb prod (postgres {:db "korma"
                       :user "korma"
                       ;;.....

我怎么能和我应该以某种方式利用文件profiles.clj我在哪里获得PG的测试和开发连接字符串来设置Korma?

如果是这样,在profiles.clj中没有“生产”连接字符串,我应该添加它还是什么?

3 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题,但也许你应该看一下:https://github.com/weavejester/environ。用于管理环境变量的clojure库。

profiles.clj中,您将设置如下内容:

{:dev  {:env {:database-url "jdbc:postgres://localhost/dev"}}
 :test {:env {:database-url "jdbc:postgres://localhost/test"}}}

答案 1 :(得分:0)

看看nomad。它在单独的文件中取出所有env特定和常见字符串/常量。拥有一个文件总是使项目常量更易于管理。

答案 2 :(得分:0)

您可以添加“生产”变量,但还有其他选项。当前版本的luminus使用cprop作为环境变量。使用它,您可以选择将这些变量放在config.edn或完全独立的文件中:

(load-config :file "/path/to/another.edn")

您可以使用的每个环境都有单独的文件,例如env / prod / clj // env.clj。