Как я могу использовать значение в моем profiles.clj в другом разделе конфигурации моего профиля / проекта?
Я создаю проект clojure, используя Leiningen со средой, чтобы сохранить 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])}
Кажется, что я мог бы вырвать файл profiles.clj в моем проекте. Clj и извлечь там ключ и вставить его в карту проекта в соответствующем месте. Это лучший вариант? Есть ли более простой способ повторно использовать такое значение?