diff --git a/src/main/frontend/db.cljs b/src/main/frontend/db.cljs index 293da13780..f131918ef2 100644 --- a/src/main/frontend/db.cljs +++ b/src/main/frontend/db.cljs @@ -181,9 +181,8 @@ (defn restore-other-data-from-sqlite! [repo data] - (let [per-length 100] + (let [per-length 2000] (p/loop [data data] - (prn "count: " (count data)) (cond (not= repo (state/get-current-repo)) ; switched to another graph nil @@ -201,8 +200,7 @@ (remove (fn [data] (and (map? data) (= :db/type (:db/ident data))))))] - (prn "part: " part) - (transact! repo part) + (transact! repo part {:restore-db? true}) (p/let [_ (p/delay 200)] (p/recur (drop per-length data)))))))) @@ -226,13 +224,14 @@ ;; (db-migrate/migrate attached-db) (d/transact! db-conn [(react/kv :db/type "db") - {:schema/version db-schema/version}]) + {:schema/version db-schema/version}] + {:restore-db? true}) ;; FIXME: transact is too slow ;; Plan: store datoms in sqlite and use d/init-db to initial the db (util/profile "transact data" - (d/transact! db-conn blocks')) + (d/transact! db-conn blocks' {:restore-db? true})) (js/setTimeout (fn [] diff --git a/src/main/frontend/modules/outliner/pipeline.cljs b/src/main/frontend/modules/outliner/pipeline.cljs index f36372b2bb..994313ce0b 100644 --- a/src/main/frontend/modules/outliner/pipeline.cljs +++ b/src/main/frontend/modules/outliner/pipeline.cljs @@ -119,16 +119,17 @@ (when-not importing? (react/refresh! repo tx-report')) - (let [upsert-blocks (remove (fn [b] (contains? deleted-block-ids (:db/id b))) blocks) - datoms-data (map (fn [d] - [(:e d) (:a d) (:v d) (:tx d) (:added d)]) (:tx-data tx-report))] - (p/let [ipc-result (ipc/ipc :db-transact-data repo - (pr-str - {:blocks upsert-blocks - :deleted-block-ids deleted-block-ids - :datoms datoms-data}))] - ;; TODO: disable edit when transact failed to avoid future data-loss - (prn "DB transact result: " ipc-result))) + (when-not (:restore-db? tx-meta) + (let [upsert-blocks (remove (fn [b] (contains? deleted-block-ids (:db/id b))) blocks) + datoms-data (map (fn [d] + [(:e d) (:a d) (:v d) (:tx d) (:added d)]) (:tx-data tx-report))] + (p/let [ipc-result (ipc/ipc :db-transact-data repo + (pr-str + {:blocks upsert-blocks + :deleted-block-ids deleted-block-ids + :datoms datoms-data}))] + ;; TODO: disable edit when transact failed to avoid future data-loss + (prn "DB transact result: " ipc-result)))) (when-not (:delete-files? tx-meta) (doseq [p (seq pages)]