Как я могу использовать значение в моем 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 и извлечь там ключ и вставить его в карту проекта в соответствующем месте. Это лучший вариант? Есть ли более простой способ повторно использовать такое значение?

1 ответ

Я не знаю, правильно ли я понимаю, но, возможно, это поможет вам.

Другие вопросы по тегам