supports bulk loading data.

This commit is contained in:
Bryce Covert
2019-04-13 12:26:51 -07:00
parent 2e694a5c75
commit 53063f47f3
3 changed files with 73 additions and 21 deletions

View File

@@ -5,6 +5,14 @@
[auto-ap.expense-accounts :as expense-accounts]
[auto-ap.ledger :as ledger]))
(defn test-run [txs-set]
(println "processing " (count txs-set))
(doseq [[i tx] (map vector (range) txs-set)]
@(d/transact (d/connect auto-ap.datomic/uri)
tx)
(when (= 0 (mod i 1000))
(println "processed " i))))
(def add-general-ledger
@@ -143,10 +151,34 @@
:args [(d/db conn)]}))
z (->> invoice-ids
(mapv #(ledger/entity-change->ledger (d/db conn) [:invoice %])))]
(clojure.pprint/pprint z)
z))
#_(bulk-load-invoice-ledger (d/connect auto-ap.datomic/uri))
#_(do @(d/transact (d/connect auto-ap.datomic/uri)
(bulk-load-invoice-ledger (d/connect auto-ap.datomic/uri)))
(println "test"))
(defn bulk-load-transaction-ledger [conn]
(let [transaction-ids (map first (d/query {:query {:find '[?e]
:in '[$]
:where ['[?e :transaction/id]]}
:args [(d/db conn)]}))
_ (println (count transaction-ids))
z (->> transaction-ids
(map #(ledger/entity-change->ledger (d/db conn) [:transaction %]))
(filter identity)
(mapv identity))]
z))
#_(test-run (bulk-load-transaction-ledger (d/connect auto-ap.datomic/uri)))
#_(do (doseq [tran (convert-transactions (d/connect auto-ap.datomic/uri))]
@(d/transact (d/connect auto-ap.datomic/uri) tran))
(println "done."))
#_(do @(d/transact (d/connect auto-ap.datomic/uri)
(bulk-load-transaction-ledger (d/connect auto-ap.datomic/uri)))
(println "test"))
(def change-expense-account-to-entity
[[{:db/ident :invoice-expense-account/account
@@ -184,4 +216,22 @@
:invoice-expense-account/account (accounts/get-account-by-numeric-code-and-sets expense-account-id ["default"])}))
invoice-expense-accounts)]))
(defn convert-transactions [conn]
(let [matched-transactions (d/query {:query {:find '[?transaction ?v]
:in '[$]
:where ['[?transaction :transaction/payment ?payment]
'[?payment :payment/invoices ?i]
'[?i :invoice/vendor ?v]]}
:args [(d/db (d/connect auto-ap.datomic/uri))]})]
[(mapv
(fn [[transaction-id vendor-id]]
(remove-nils {:db/id transaction-id
:transaction/vendor vendor-id
:transaction/account (:db/id (accounts/get-account-by-numeric-code-and-sets 2110 ["default"]))
}))
matched-transactions)]))
#_(do (doseq [tran (convert-transactions (d/connect auto-ap.datomic/uri))]
@(d/transact (d/connect auto-ap.datomic/uri) tran))
(println "done."))