From f944a2e90fac2db505b653e4e2148ae556630d0a Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Tue, 15 Sep 2020 13:44:01 -0700 Subject: [PATCH] making migration occur on start --- src/clj/auto_ap/datomic/migrate.clj | 21 +++++++++++++-------- src/clj/auto_ap/server.clj | 1 + 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/clj/auto_ap/datomic/migrate.clj b/src/clj/auto_ap/datomic/migrate.clj index 9c538eef..c321ccfb 100644 --- a/src/clj/auto_ap/datomic/migrate.clj +++ b/src/clj/auto_ap/datomic/migrate.clj @@ -1,5 +1,5 @@ (ns auto-ap.datomic.migrate - (:require [auto-ap.datomic :refer [uri]] + (:require [auto-ap.datomic :refer [uri conn]] [datomic.api :as d] [auto-ap.datomic.migrate.add-client-codes :refer [add-client-codes]] [auto-ap.datomic.migrate.add-bank-account-codes :refer [add-bank-account-codes]] @@ -11,7 +11,8 @@ [auto-ap.datomic.migrate.audit :as audit] [clojure.java.io :as io] - [io.rkn.conformity :as c]) + [io.rkn.conformity :as c] + [mount.core :as mount]) (:import [datomic Util]) (:gen-class)) @@ -91,12 +92,8 @@ []))] [existing-accounts])) -(defn -main [& args] - (println "Creating database ..." uri) - (doto (d/create-database uri) println) - +(defn migrate [conn] (let [ - conn (d/connect uri) norms-map (merge {:auto-ap/base-schema {:txes auto-ap.datomic/base-schema} :auto-ap/functions {:txes-fn 'auto-ap.datomic.migrate/functions :requires [:auto-ap/base-schema]} @@ -325,6 +322,14 @@ #_(when (not (seq args)) (d/release conn)) (println "Done"))) -#_(-main false) + +(defn -main [& args] + (mount/start (mount/only #{#'conn})) + (migrate conn) + (mount/stop) + ) +(mount/defstate migrate-start + :start (future (migrate conn)) + :stop (deref migrate-start)) diff --git a/src/clj/auto_ap/server.clj b/src/clj/auto_ap/server.clj index ded51caf..cfc46945 100644 --- a/src/clj/auto_ap/server.clj +++ b/src/clj/auto_ap/server.clj @@ -5,6 +5,7 @@ [auto-ap.yodlee.core] [auto-ap.background.invoices] [auto-ap.square.core] + [auto-ap.datomic.migrate] [nrepl.server :refer [start-server stop-server]] [config.core :refer [env]] [ring.adapter.jetty :refer [run-jetty]]