我正在使用Leiningen和environ创建一个clojure项目来保存uri来管理项目profiles.clj
或环境变量中的数据库连接,我想尝试使用{ {3}}管理数据库迁移。
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并在那里提取密钥,并将其插入到适当位置的项目地图中。这是最好的选择吗?是否有更简单的方法来重用这样的值?