supports bulk loading data.
This commit is contained in:
@@ -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."))
|
||||
|
||||
Reference in New Issue
Block a user