(ns auto-ap.datomic.migrate.add-client-codes (:require [auto-ap.datomic :refer [uri]] [datomic.api :as d])) (def name->code (->> [["Moscini Pizza Inc" "MPI"] ["Frost Cupcake Factory" "FCF"] ["Sorelle Italian Bistro" "SIB"] ["Brian & Erin Skarbek" "BES"] ["Shared CBC-IBC Expenses" "IBCBC"] ["Integreat" "INT"] ["Mama Mia's" "MAM"] ["Mio Saratoga" "MVSG"] ["Be Steak A" "BSA"] ["Jason Skarbek" "JS"] ["Lefty's East Coast Pizzeria" "LFT"] ["Orale's" "ORA"] ["Brown Chicken Brown Cow" "BCBC"] ["Hiro Mura" "HM"] ["Mama Lu's Foods" "MLF"] ["Bella Saratoga" "BSG"] ["Willow Glen Creamery" "WGC"] ["Skarbek Law Offices" "SLO"] ["Mio Vicino - Santa Clara" "MV"] ["Campbell Brewing Co" "CBC"] ["Warm Elements" "WE"] ["Savory Kitchen" "SK"] ["Demo account" "DEMO"] ["Roberto's Cantina Inc" "RCI"] ["Fratello" "FRA"] ["Whirlygig" "WHG"] ["Iguanas Burritozilla" "IBC"]] (into {})) ) (defn add-client-codes [a] [(->> (d/query {:query {:find '[?name ?e] :in ['$] :where ['[?e :client/name ?name]]} :args [(d/db a)]}) (reduce (fn [result [name id]] (if (name->code name) (conj result [:db/add id :client/code (name->code name)]) result)) []))])