From f7fe2b2beec1dfe2a6a2807ea0988de01947cf35 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Fri, 17 Mar 2023 12:56:39 -0700 Subject: [PATCH] Makes running datomic cloud work again --- src/clj/auto_ap/ezcater/core.clj | 8 +-- src/clj/auto_ap/graphql/accounts.clj | 16 +++--- src/clj/auto_ap/graphql/checks.clj | 11 ++-- src/clj/auto_ap/graphql/ledger.clj | 26 ++++----- src/clj/auto_ap/graphql/vendors.clj | 8 +-- src/clj/auto_ap/ledger.clj | 25 ++++----- src/clj/auto_ap/pdf/ledger.clj | 19 +++---- src/clj/auto_ap/routes/exports.clj | 81 ++++++++++++++-------------- src/clj/auto_ap/routes/invoices.clj | 2 +- src/clj/auto_ap/routes/queries.clj | 3 +- src/clj/auto_ap/square/core2.clj | 4 +- src/clj/user.clj | 4 +- 12 files changed, 102 insertions(+), 105 deletions(-) diff --git a/src/clj/auto_ap/ezcater/core.clj b/src/clj/auto_ap/ezcater/core.clj index c8b4cbba..7f893aaa 100644 --- a/src/clj/auto_ap/ezcater/core.clj +++ b/src/clj/auto_ap/ezcater/core.clj @@ -283,7 +283,7 @@ (iterate #(time/plus % (time/days -1))) (filter #(= 7 (time/day-of-week %))))) (time/days 1))) - orders-to-update (doall (for [[order uuid] (d/q '[:find ?eid ?uuid + orders-to-update (doall (for [[order uuid] (dc/q '[:find ?eid ?uuid :in $ ?start :where [?e :sales-order/vendor :vendor/ccp-ezcater] [?e :sales-order/date ?d] @@ -293,7 +293,7 @@ [?c :client/ezcater-locations ?l] [?l :ezcater-location/caterer ?c2] [?c2 :ezcater-caterer/uuid ?uuid]] - (d/db conn) + (dc/db conn) last-sunday) :let [_ (alog/info ::considering :order order) @@ -307,7 +307,7 @@ "key" "accepted", "occurred_at" "2022-07-21T19:21:07.549Z"} ezcater-order (lookup-order lookup-map) - extant-order (d/pull (d/db conn) '[:sales-order/total + extant-order (dc/pull (dc/db conn) '[:sales-order/total :sales-order/tax :sales-order/tip :sales-order/discount @@ -346,6 +346,6 @@ updated-order))] (alog/info :found-orders-to-update :orders orders-to-update) - @(dc/transact conn {:tx-data orders-to-update}))) + (dc/transact conn {:tx-data orders-to-update}))) diff --git a/src/clj/auto_ap/graphql/accounts.clj b/src/clj/auto_ap/graphql/accounts.clj index 81d8c316..93dec0ce 100644 --- a/src/clj/auto_ap/graphql/accounts.clj +++ b/src/clj/auto_ap/graphql/accounts.clj @@ -98,10 +98,10 @@ :account/default-allowance) vendor-account (when vendor-id - (-> (d/q '[:find ?da + (-> (dc/q '[:find ?da :in $ ?v :where [?v :vendor/default-account ?da]] - (d/db conn) + (dc/db conn) vendor-id) ffirst)) xform (comp @@ -117,37 +117,37 @@ "This account is not typically used for this purpose.")})))] (if query (if num - (->> (d/q '[:find ?n (pull ?i pattern) + (->> (dc/q '[:find ?n (pull ?i pattern) :in $ ?numeric-code ?allowance pattern :where [?i :account/numeric-code ?numeric-code] [?i :account/name ?n] (or [?i :account/applicability :account-applicability/global] [?i :account/applicability :account-applicability/optional] [?i :account/applicability :account-applicability/customized])] - (d/db conn) + (dc/db conn) num allowance search-pattern) (sequence xform)) - (->> (d/q '[:find ?n (pull ?i pattern) ?s + (->> (dc/q '[:find ?n (pull ?i pattern) ?s :in $ ?q ?allowance pattern :where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]] [?i :account/numeric-code ?numeric-code] (or [?i :account/applicability :account-applicability/global] [?i :account/applicability :account-applicability/optional])] - (d/db conn) + (dc/db conn) query allowance search-pattern) (concat (when client - (d/q '[:find ?n (pull ?a pattern) ?s + (dc/q '[:find ?n (pull ?a pattern) ?s :in $ ?c ?q ?allowance pattern :where [?i :account-client-override/client ?c] [(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]] [?a :account/client-overrides ?i] [?a :account/numeric-code ?numeric-code]] - (d/db conn) + (dc/db conn) client query allowance diff --git a/src/clj/auto_ap/graphql/checks.clj b/src/clj/auto_ap/graphql/checks.clj index bff642ed..309d2ac0 100644 --- a/src/clj/auto_ap/graphql/checks.clj +++ b/src/clj/auto_ap/graphql/checks.clj @@ -1,7 +1,7 @@ (ns auto-ap.graphql.checks (:require [amazonica.aws.s3 :as s3] - [auto-ap.datomic :refer [conn remove-nils plus]] + [auto-ap.datomic :refer [conn remove-nils plus pull-many]] [auto-ap.datomic.accounts :as a] [auto-ap.datomic.bank-accounts :as d-bank-accounts] [auto-ap.datomic.checks :as d-checks] @@ -393,7 +393,7 @@ client (d-clients/get-by-id client-id) invoice-amounts (by :invoice-id :amount invoice-payments) invoices-grouped-by-vendor (group-by (comp :db/id :invoice/vendor) invoices) - vendors (->> (d/pull-many (d/db conn) d-vendors/default-read (keys invoices-grouped-by-vendor)) + vendors (->> (pull-many (dc/db conn) d-vendors/default-read (keys invoices-grouped-by-vendor)) (by :db/id)) bank-account (d-bank-accounts/get-by-id bank-account-id) _ (validate-belonging client-id invoices bank-account) @@ -516,10 +516,10 @@ (defn void-payments-internal [all-ids id] (transact-with-ledger (->> all-ids - (d/q '[:find [(pull ?p [:db/id + (dc/q '[:find (pull ?p [:db/id {:invoice-payment/_payment [:invoice-payment/amount :db/id - {:invoice-payment/invoice [:db/id :invoice/outstanding-balance]}]}]) ...] + {:invoice-payment/invoice [:db/id :invoice/outstanding-balance]}]}]) :in $ [?p ...] :where (not [_ :transaction/payment ?p]) @@ -529,7 +529,8 @@ [?p :payment/date ?d] [(>= ?d ?lu)] ] - (d/db conn)) + (dc/db conn)) + (map first) (mapcat (fn [{:keys [:db/id] invoices :invoice-payment/_payment}] (into diff --git a/src/clj/auto_ap/graphql/ledger.clj b/src/clj/auto_ap/graphql/ledger.clj index cb8e5207..dca88c1d 100644 --- a/src/clj/auto_ap/graphql/ledger.clj +++ b/src/clj/auto_ap/graphql/ledger.clj @@ -7,7 +7,6 @@ [auto-ap.datomic.ledger :as l] [auto-ap.time :as atime] [auto-ap.ledger.reports :as l-reports] - [auto-ap.datomic.vendors :as d-vendors] [auto-ap.graphql.utils :refer [->graphql <-graphql assert-admin assert-can-see-client result->page]] [auto-ap.parse.util :as parse] @@ -17,11 +16,9 @@ [clj-time.core :as t] [clojure.tools.logging :as log] [clojure.data.csv :as csv] - [com.walmartlabs.lacinia.util :refer [attach-resolvers]] [datomic.client.api :as dc] [mount.core :as mount] [com.brunobonacci.mulog :as mu] - [unilog.context :as lc] [yang.scheduler :as scheduler] [auto-ap.graphql.utils :refer [attach-tracing-resolvers]]) (:import [org.apache.commons.codec.binary Base64])) @@ -297,12 +294,13 @@ (let [used-vendor-names (set (map :vendor_name (:entries args))) all-vendors (mu/trace ::get-all-vendors [] - (->> (d/q '[:find [?e ...] + (->> (dc/q '[:find ?e :in $ [?name ...] :where [?e :vendor/name ?name]] - (d/db conn) + (dc/db conn) used-vendor-names) - (d/pull-many (d/db conn) [:db/id :vendor/name]) + (map first) + (pull-many (dc/db conn) [:db/id :vendor/name]) (by :vendor/name))) all-clients (mu/trace ::get-all-clients [] (by :client/code (d-clients/get-all ))) @@ -342,12 +340,13 @@ _ (mu/trace ::upsert-new-vendors [] (audit-transact-batch (vec (vals new-hidden-vendors)) (:id context))) - all-vendors (->> (d/q '[:find [?e ...] + all-vendors (->> (dc/q '[:find ?e :in $ [?name ...] :where [?e :vendor/name ?name]] - (d/db conn) + (dc/db conn) used-vendor-names) - (d/pull-many (d/db conn) [:db/id :vendor/name]) + (map first) + (pull-many (dc/db conn) [:db/id :vendor/name]) (by :vendor/name)) all-accounts (mu/trace ::get-all-accounts [] (transduce (map (comp str :account/numeric-code)) conj #{} (a/get-accounts))) @@ -455,11 +454,12 @@ success) ignore-retraction (->> ignored (map :external_id ) - (d/q '[:find [?je ...] + (dc/q '[:find ?je :in $ [?ei ...] :where [?je :journal-entry/external-id ?ei]] - (d/db conn) + (dc/db conn) ) + (map first) (map (fn [je] [:db/retractEntity je])))] (log/info "manual ledger import has " (count success) " new rows") (log/info errors) @@ -583,7 +583,7 @@ (for [client-id (:client_ids input) :let [_ (assert-can-see-client (:id context) client-id) account-lookup (build-account-lookup client-id) - c (d/pull (d/db conn) '[:client/locations] client-id)] + c (dc/pull (dc/db conn) '[:client/locations] client-id)] location (:client/locations c) category (:categories input) :let [category (<-graphql category) @@ -640,7 +640,7 @@ (for [client-id (:client_ids input) :let [_ (assert-can-see-client (:id context) client-id) account-lookup (build-account-lookup client-id) - c (d/pull (d/db conn) '[:client/locations] client-id)] + c (dc/pull (dc/db conn) '[:client/locations] client-id)] location (:client/locations c) line [{:client_id client-id :location location diff --git a/src/clj/auto_ap/graphql/vendors.clj b/src/clj/auto_ap/graphql/vendors.clj index 30790a8b..3d93b0bd 100644 --- a/src/clj/auto_ap/graphql/vendors.clj +++ b/src/clj/auto_ap/graphql/vendors.clj @@ -192,16 +192,16 @@ )) (if-let [search-query (cleanse-query (:query args))] (let [data (if (is-admin? (:id context)) - (d/q '[:find ?n ?i ?s + (dc/q '[:find ?n ?i ?s :in $ ?q :where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]] - (d/db conn) + (dc/db conn) search-query) - (d/q '[:find ?n ?i ?s + (dc/q '[:find ?n ?i ?s :in $ ?q :where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]] (not [?i :vendor/hidden true])] - (d/db conn) + (dc/db conn) search-query))] (->> data (sort-by (comp - last)) diff --git a/src/clj/auto_ap/ledger.clj b/src/clj/auto_ap/ledger.clj index 097ed885..976e4aab 100644 --- a/src/clj/auto_ap/ledger.clj +++ b/src/clj/auto_ap/ledger.clj @@ -183,24 +183,19 @@ (defn touch-transaction [e] (dc/transact conn {:tx-data [[:db/retractEntity [:journal-entry/original-entity e]]]}) -(when-let [change (entity-change->ledger (d/db conn) - [:transaction e])] - (dc/transact conn {:tx-data [{:db/id "datomic.tx" - :db/doc "touching transaction to update ledger"} - (entity-change->ledger (dc/db conn) - [:transaction e])]})) - ) + (when-let [change (entity-change->ledger (dc/db conn) + [:transaction e])] + (dc/transact conn {:tx-data [{:db/id "datomic.tx" + :db/doc "touching transaction to update ledger"} + change]}))) (defn touch-invoice [e] (dc/transact conn [[:db/retractEntity [:journal-entry/original-entity e]]]) -(when-let [change (entity-change->ledger (d/db conn) - [:invoice e])] - (dc/transact conn [{:db/id "datomic.tx" - :db/doc "touching invoice to update ledger"} - (entity-change->ledger (dc/db conn) - [:invoice e])])) - ) - + (when-let [change (entity-change->ledger (dc/db conn) + [:invoice e])] + (dc/transact conn [{:db/id "datomic.tx" + :db/doc "touching invoice to update ledger"} + change]))) (defn lazy-tx-range ([start end xf] (lazy-tx-range start end xf 0)) ([start end xf o] diff --git a/src/clj/auto_ap/pdf/ledger.clj b/src/clj/auto_ap/pdf/ledger.clj index d4d648bb..469039aa 100644 --- a/src/clj/auto_ap/pdf/ledger.clj +++ b/src/clj/auto_ap/pdf/ledger.clj @@ -231,7 +231,7 @@ (println args) (let [data (<-graphql data) args (<-graphql args) - clients (d/pull-many (d/db conn) '[:client/code :client/name :db/id] (:client-ids args)) + clients (pull-many (dc/db conn) '[:client/code :client/name :db/id] (:client-ids args)) report (l-reports/journal-detail-report args data (by :db/id :client/code clients)) output-stream (ByteArrayOutputStream.)] (log/info report) @@ -266,7 +266,7 @@ max-date (atime/unparse-local (->> args :date_range :end) atime/iso-date) - names (str/replace (->> args :client_ids (d/pull-many (d/db conn) [:client/name]) (map :client/name) (str/join "-")) #" " "_" )] + names (str/replace (->> args :client_ids (pull-many (dc/db conn) [:client/name]) (map :client/name) (str/join "-")) #" " "_" )] (format "Profit-and-loss-%s-to-%s-for-%s" min-date max-date names))) (defn balance-sheet-args->name [args] @@ -330,12 +330,13 @@ :input-stream (io/make-input-stream pdf-data {}) :metadata {:content-length (count pdf-data) :content-type "application/pdf"}) - @(d/transact conn - [{:report/name name - :report/client (:client_ids args) - :report/key key - :report/url url - :report/creator (:user user) - :report/created (java.util.Date.)}]) + (dc/transact conn + {:tx-data + [{:report/name name + :report/client (:client_ids args) + :report/key key + :report/url url + :report/creator (:user user) + :report/created (java.util.Date.)}]}) {:report/name name :report/url url })) diff --git a/src/clj/auto_ap/routes/exports.clj b/src/clj/auto_ap/routes/exports.clj index aa0f2bae..18e6c5d0 100644 --- a/src/clj/auto_ap/routes/exports.clj +++ b/src/clj/auto_ap/routes/exports.clj @@ -1,6 +1,6 @@ (ns auto-ap.routes.exports (:require - [auto-ap.datomic :refer [conn]] + [auto-ap.datomic :refer [conn pull-many]] [auto-ap.datomic.accounts :as accounts] [auto-ap.datomic.clients :as d-clients] [auto-ap.datomic.transactions :as d-transactions] @@ -20,8 +20,6 @@ [com.unbounce.dogstatsd.core :as statsd] [config.core :refer [env]] [datomic.api :as d] - [compojure.core :refer [context defroutes GET routes wrap-routes]] - [config.core :refer [env]] [datomic.client.api :as dc] [ring.middleware.json :refer [wrap-json-response]] [venia.core :as venia])) @@ -38,7 +36,7 @@ identity (jwt/unsign (get query-params "key") (:jwt-secret env) {:alg :hs512})] (assert-can-see-client identity client-id) (into (list) - (d/query {:query {:find '[?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge)] + (dc/q {:query {:find '[?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge)] :in '[$ ?c] :where '[[?s :sales-order/client ?c] [?s :sales-order/date ?d] @@ -49,7 +47,7 @@ [(clj-time.coerce/to-date-time ?d) ?d2] [(auto-ap.time/localize ?d2) ?d3] [(auto-ap.time/unparse ?d3 auto-ap.time/normal-date) ?d4]]} - :args [(d/db conn) client-id]})))) + :args [(dc/db conn) client-id]})))) (defn client-tag [params] (when-let [code (or (params "client-code") @@ -90,28 +88,29 @@ {:body (list (into (list) (map datomic-map->graphql-map) - (d/q '[:find [(pull ?i [:db/id :invoice/total :invoice/outstanding-balance :invoice/invoice-number :invoice/date :invoice/original-id - { :invoice/status [:db/ident] - :invoice/payments - [:invoice-payment/amount - {:invoice-payment/payment [:payment/check-number - :payment/memo - {:payment/bank_account [:bank-account/id :bank-account/name :bank-account/number :bank-account/bank-name :bank-account/bank-code :bank-account/code]}]}] - :invoice/vendor [:vendor/name - :db/id - {:vendor/primary-contact [:contact/name] - :vendor/address [:address/street1 :address/city :address/state :address/zip]}] - :invoice/expense-accounts [:db/id - :invoice-expense-account/amount - :invoice-expense-account/id - :invoice-expense-account/location - {:invoice-expense-account/account - [:db/id :account/numeric-code :account/name]}] - :invoice/client [:client/name :db/id :client/code :client/locations]}]) ...] - :in $ ?c - :where [?i :invoice/client ?c]] - (d/db conn) - [:client/code (query-params "client-code")])))})) + (map first (dc/q '[:find (pull ?i [:db/id :invoice/total :invoice/outstanding-balance :invoice/invoice-number :invoice/date :invoice/original-id + { :invoice/status [:db/ident] + :invoice/payments + [:invoice-payment/amount + {:invoice-payment/payment [:payment/check-number + :payment/memo + {:payment/bank_account [:bank-account/id :bank-account/name :bank-account/number :bank-account/bank-name :bank-account/bank-code :bank-account/code]}]}] + :invoice/vendor [:vendor/name + :db/id + {:vendor/primary-contact [:contact/name] + :vendor/address [:address/street1 :address/city :address/state :address/zip]}] + :invoice/expense-accounts [:db/id + :invoice-expense-account/amount + :invoice-expense-account/id + :invoice-expense-account/location + {:invoice-expense-account/account + [:db/id :account/numeric-code :account/name]}] + :invoice/client [:client/name :db/id :client/code :client/locations]}]) + :in $ ?c + :where [?i :invoice/client ?c]] + + (dc/db conn) + [:client/code (query-params "client-code")]))))})) (defn export-payments [{:keys [query-params identity]}] (assert-admin identity) @@ -222,18 +221,19 @@ (assert-admin identity) (statsd/time! [(str "export.time") {:tags #{"export:vendors"}}] {:body - (map <-graphql (->> (d/q '[:find [?e ...] + (map <-graphql (->> (dc/q '[:find ?e :in $ :where [?e :vendor/name]] - (d/db conn)) - (d/pull-many (d/db conn) vendor/default-read)))})) + (dc/db conn)) + (map first) + (pull-many (dc/db conn) vendor/default-read)))})) (defn export-company-vendors [{:keys [identity query-params]}] (statsd/time! [(str "export.time") {:tags #{"export:company-vendors"}}] - (let [client (:db/id (d/pull (d/db conn) [:db/id] [:client/code (get query-params "client")])) + (let [client (:db/id (dc/pull (dc/db conn) [:db/id] [:client/code (get query-params "client")])) _ (assert-can-see-client identity client) - data (->> (d/q '[:find (pull ?v [:vendor/name + data (->> (dc/q '[:find (pull ?v [:vendor/name :vendor/terms {:vendor/default-account [:account/name :account/numeric-code {:account/client-overrides @@ -253,7 +253,7 @@ [(>= ?vu 0)] [?vu :vendor-usage/vendor ?v] (not [?v :vendor/hidden true])] - (d/db conn) + (dc/db conn) client) (map (fn [[v]] [(-> v :vendor/name) @@ -279,7 +279,7 @@ (assert-admin identity) (statsd/time! [(str "export.time") {:tags #{(client-tag query-params) "export:ledger2"}}] - (let [results (->> (d/q '[:find (pull ?e [:db/id + (let [results (->> (dc/q '[:find (pull ?e [:db/id :journal-entry/external-id :journal-entry/cleared :journal-entry/alternate-description @@ -314,7 +314,7 @@ :where [?e :journal-entry/client ?c] [?e :journal-entry/date ?date] [(>= ?date ?start-date)]] - (d/db conn) + (dc/db conn) [:client/code (query-params "client-code")] (coerce/to-date start-date))) tf-result (transduce (comp @@ -368,15 +368,16 @@ (assert-admin identity) (statsd/time! [(str "export.time") {:tags #{(client-tag query-params) "export:transactions2"}}] - {:body (let [db (d/db conn)] + {:body (let [db (dc/db conn)] (->> - (d/query {:query {:find ['?e] + (dc/q {:query {:find ['?e] :in ['$ '?client-code] :where ['[?e :transaction/client ?client-code]]} :args [db [:client/code (query-params "client-code")]]}) (map first) - (map (fn [e] - (let [e (d/entity db e) + ;; TODO + #_(map (fn [e] + (let [e (dc/entity db e) client (:transaction/client e) bank-account (:transaction/bank-account e)] {:id (:db/id e) @@ -416,7 +417,7 @@ (log/info "Executing raw query " (get query-params "query" )) (statsd/time! [(str "export.time") {:tags #{"export:raw"}}] {:body - (into (list) (apply d/q (read-string (get query-params "query" )) (into [(d/db conn)] (read-string (get query-params "args" "[]")))))})) + (into (list) (apply dc/q (read-string (get query-params "query" )) (into [(dc/db conn)] (read-string (get query-params "args" "[]")))))})) (def routes2 {"api/" {"sales/" {"aggregated/" {#"export/?" {:get :aggregated-sales-export}} diff --git a/src/clj/auto_ap/routes/invoices.clj b/src/clj/auto_ap/routes/invoices.clj index 8fce9d9c..50fb7c55 100644 --- a/src/clj/auto_ap/routes/invoices.clj +++ b/src/clj/auto_ap/routes/invoices.clj @@ -19,7 +19,7 @@ [clojure.string :as str] [clojure.tools.logging :as log] [config.core :refer [env]] - [datomic.api :as d] + [datomic.client.api :as dc] [digest] [ring.middleware.json :refer [wrap-json-response]] [unilog.context :as lc]) diff --git a/src/clj/auto_ap/routes/queries.clj b/src/clj/auto_ap/routes/queries.clj index cca07e4d..6be5f40f 100644 --- a/src/clj/auto_ap/routes/queries.clj +++ b/src/clj/auto_ap/routes/queries.clj @@ -12,8 +12,7 @@ [config.core :refer [env]] [datomic.client.api :as dc] [datomic.api :as d] - [compojure.core - :refer [context defroutes GET POST PUT routes wrap-routes]] + [ring.middleware.json :refer [wrap-json-response]] [ring.util.request :refer [body-string]] [unilog.context :as lc]) diff --git a/src/clj/auto_ap/square/core2.clj b/src/clj/auto_ap/square/core2.clj index 9adc48cd..380f6e1b 100644 --- a/src/clj/auto_ap/square/core2.clj +++ b/src/clj/auto_ap/square/core2.clj @@ -326,7 +326,7 @@ (defn daily-settlements ([client location] (->> (for [settlement (settlements client location) - :let [best-sales-date (->> (d/q '[:find ?s4 (count ?s) + :let [best-sales-date (->> (dc/q '[:find ?s4 (count ?s) :in $ ?settlement-id :where [?settlement :expected-deposit/external-id ?settlement-id] @@ -336,7 +336,7 @@ [(clj-time.coerce/to-date-time ?sales-date) ?s2] [(auto-ap.time/localize ?s2) ?s3] [(clj-time.coerce/to-local-date ?s3) ?s4]] - (d/db conn) + (dc/db conn) (str "square/settlement/" (:id settlement))) (sort-by last) last diff --git a/src/clj/user.clj b/src/clj/user.clj index 466435b6..72182446 100644 --- a/src/clj/user.clj +++ b/src/clj/user.clj @@ -444,8 +444,8 @@ (mount.core/start (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client}))) (defn restart-db [] - (require 'datomic.dev-local) - (datomic.dev-local/release-db {:system "dev" :db-name "prod-migration"}) + #_(require 'datomic.dev-local) + #_(datomic.dev-local/release-db {:system "dev" :db-name "prod-migration"}) (mount.core/stop (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client})) (start-db))