From 4bfe43e2356c7945b59bd52f1c026fd5cf03f211 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Thu, 30 Mar 2023 09:40:34 -0700 Subject: [PATCH] adds the ability to start a restore from a particular entity --- src/clj/auto_ap/jobs/restore_from_backup.clj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/clj/auto_ap/jobs/restore_from_backup.clj b/src/clj/auto_ap/jobs/restore_from_backup.clj index 4100c98b..18debcb5 100644 --- a/src/clj/auto_ap/jobs/restore_from_backup.clj +++ b/src/clj/auto_ap/jobs/restore_from_backup.clj @@ -104,7 +104,7 @@ (defn load-from-backup ([backup-id connection] (load-from-backup backup-id connection nil)) - ([backup-id connection item-list] + ([backup-id connection starting-at] (let [schema (edn/read-string (slurp (pull-file backup-id "schema.edn"))) full-dependencies (edn/read-string (slurp (pull-file backup-id "full-dependencies.edn"))) entity-dependencies (edn/read-string (slurp (pull-file backup-id "entity-dependencies.edn")))] @@ -124,7 +124,9 @@ {:entity/migration-key 17592271516922}]}) - (doseq [entity (or item-list (filter (complement (conj @loaded "audit")) (order-of-insert entity-dependencies))) + (doseq [entity (cond->> (order-of-insert entity-dependencies) + true (filter #(not= "audit" %)) + starting-at (drop-while #(not= starting-at %))) :let [_ (reset! so-far 0) _ (mu/log ::querying :entity entity) entities (mu/trace ::file-pulled @@ -132,10 +134,10 @@ (ednl/slurp (pull-file backup-id (str entity ".ednl"))))]] (load-entity entity entities))))) -(defn restore-fresh-from-backup [{:keys [backup]}] +(defn restore-fresh-from-backup [{:keys [backup starting-at]}] (println "beginning") (mu/log ::beginning-restore) - (load-from-backup backup auto-ap.datomic/conn) + (load-from-backup backup auto-ap.datomic/conn starting-at) (mu/log ::restore-complete) (mu/log ::beginning-index-build) (auto-ap.datomic/transact-schema auto-ap.datomic/conn)