From f0512085abb864d44fe04b8f490d6dffb321f4ff Mon Sep 17 00:00:00 2001 From: BC Date: Fri, 10 Aug 2018 07:21:41 -0700 Subject: [PATCH] datomic progress. --- src/clj/auto_ap/datomic.clj | 51 +++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/src/clj/auto_ap/datomic.clj b/src/clj/auto_ap/datomic.clj index 9a56f4e0..f6cef2d7 100644 --- a/src/clj/auto_ap/datomic.clj +++ b/src/clj/auto_ap/datomic.clj @@ -40,10 +40,12 @@ :db/valueType :db.type/ref :db/cardinality :db.cardinality/one :db/doc "The vendor's secondary contact"} - {:db/ident :vendor/address + {:db/id #db/id[:db.part/db] + :db/ident :vendor/address :db/valueType :db.type/ref :db/cardinality :db.cardinality/one :db/isComponent true + :db.install/_attribute :db.part/db :db/doc "The vendor's address"} {:db/ident :address/street1 @@ -92,28 +94,28 @@ (d/transact (d/connect uri) (let [all-vendors (v/get-all)] - (doto (map - (fn [{:keys [primary-phone address email primary-contact secondary-email secondary-contact primary-email name default-expense-account id code secondary-phone invoice-reminder-schedule print-as]}] - - (cond-> #:vendor {#_#_:db/ident id - :name name} - email (assoc :vendor/email email) - invoice-reminder-schedule (assoc :vendor/invoice-reminder-schedule invoice-reminder-schedule) - (and address - (:street1 address) - (:street2 address) - (:city address) - (:state address) - (:zip address)) - (assoc :vendor/address #:address { - :street1 (:street1 address) - :street2 (:street2 address) - :city (:city address) - :state (:state address) - :zip (:zip address)}))) - - - all-vendors) + (doto (take 5 (map + (fn [{:keys [primary-phone address email primary-contact secondary-email secondary-contact primary-email name default-expense-account id code secondary-phone invoice-reminder-schedule print-as]}] + + (cond-> #:vendor {:db/ident (keyword (str "vendor-" id)) + :name name} + email (assoc :vendor/email email) + invoice-reminder-schedule (assoc :vendor/invoice-reminder-schedule invoice-reminder-schedule) + (and address + (:street1 address) + (:street2 address) + (:city address) + (:state address) + (:zip address)) + (assoc :vendor/address #:address { + :street1 (:street1 address) + :street2 (:street2 address) + :city (:city address) + :state (:state address) + :zip (:zip address)}))) + + + all-vendors)) clojure.pprint/pprint) ))) @@ -124,6 +126,5 @@ (create-database uri) @(create-schema ) @(load-entities) - @(load-vendors) - (count (query-entities))) + @(load-vendors))