3

我正在使用 Leiningen 和environ创建一个 clojure 项目,以保留一个用于管理项目或环境变量中的数据库连接的 uri profiles.clj,我想尝试使用lein-flyway来管理数据库迁移。

Lein-flyway 有自己的配置来指定数据库 uri,我不想强​​迫我的同事将连接 uri 放在他们的配置中的两个位置。

目前,profiles.clj未签入,看起来像这样:

{:profiles/dev 
 {:env {:database-url
        "jdbc:postgresql://localhost/project?user=$USER&password=$PASS"}}
 :profiles/test
  {:env {:database-url
         "jdbc:postgresql://localhost/project_test?user=$USER&password=$PASS"}}}

我想在我的:profiles/dev地图profiles.clj或我的:project/dev地图中添加一个如下所示的条目project.clj

:flyway {:url ~(get-in profile-map [:profiles/dev :env :database-url])}

似乎我可以在我的 project.clj 中啜食profiles.clj 并在那里提取密钥,并将其插入到适当位置的项目映射中。那是最好的选择吗?有没有更简单的方法来重用这样的值?

4

1 回答 1

0

我不知道我是否理解正确,但也许对你有帮助。

于 2016-06-22T21:08:49.323 回答