Load .env vars via Makefile, use #env JDBC_URL for all profiles in system.edn, switch ig/prep to ig/expand, and add missing namespace requires in core.clj to match elprice project conventions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.3 KiB
Clojure
51 lines
1.3 KiB
Clojure
(ns user
|
|
(:require
|
|
[clojure.tools.logging :as log]
|
|
[integrant.core :as ig]
|
|
[integrant.repl :refer [go halt reset reset-all set-prep!]]
|
|
[integrant.repl.state :as state]
|
|
[pmagnus.btcprice.config :as config]
|
|
[pmagnus.btcprice.core]))
|
|
|
|
(defn dev-prep! []
|
|
(set-prep!
|
|
(fn []
|
|
(-> (config/system-config {:profile :dev})
|
|
(ig/expand)))))
|
|
|
|
(defn test-prep! []
|
|
(set-prep!
|
|
(fn []
|
|
(-> (config/system-config {:profile :test})
|
|
(ig/expand)))))
|
|
|
|
(defn reset-db []
|
|
(let [sys (or @pmagnus.btcprice.core/system
|
|
integrant.repl.state/system)]
|
|
(when-let [mig (:db.sql/migrations sys)]
|
|
(migratus.core/reset mig)
|
|
(log/info "Database reset complete"))))
|
|
|
|
(defn rollback []
|
|
(let [sys (or @pmagnus.btcprice.core/system
|
|
integrant.repl.state/system)]
|
|
(when-let [mig (:db.sql/migrations sys)]
|
|
(migratus.core/rollback mig))))
|
|
|
|
(defn migrate []
|
|
(let [sys (or @pmagnus.btcprice.core/system
|
|
integrant.repl.state/system)]
|
|
(when-let [mig (:db.sql/migrations sys)]
|
|
(migratus.core/migrate mig))))
|
|
|
|
(defn query-fn []
|
|
(let [sys (or @pmagnus.btcprice.core/system
|
|
integrant.repl.state/system)]
|
|
(:db.sql/query-fn sys)))
|
|
|
|
(comment
|
|
(dev-prep!)
|
|
(go)
|
|
(reset)
|
|
(halt))
|