【发布时间】:2016-10-22 08:28:46
【问题描述】:
我正在使用带有environ 的 Leiningen 创建一个 clojure 项目,以保留一个用于管理项目 profiles.clj 或环境变量中的数据库连接的 uri,我想尝试使用 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.clj 中的:profiles/dev 映射或project.clj 中的:project/dev 映射中添加如下条目。
:flyway {:url ~(get-in profile-map [:profiles/dev :env :database-url])}
似乎我可以在我的 project.clj 中删除profiles.clj 并在那里提取密钥,并将其插入到适当位置的项目映射中。那是最好的选择吗?有没有更简单的方法来重用这样的值?
【问题讨论】:
标签: clojure leiningen flyway environ