mirror of https://github.com/logseq/logseq
enhance: add more useful counts to validation script
helpful for checking a new/imported db graph hasn't regressedpull/11049/head
parent
d8f41f22c2
commit
5d915de2e2
|
@ -16,7 +16,7 @@
|
||||||
(defn validate-client-db
|
(defn validate-client-db
|
||||||
"Validate datascript db as a vec of entity maps"
|
"Validate datascript db as a vec of entity maps"
|
||||||
[db ent-maps* {:keys [verbose group-errors closed-maps]}]
|
[db ent-maps* {:keys [verbose group-errors closed-maps]}]
|
||||||
(let [ent-maps (vec (db-malli-schema/update-properties-in-ents (vals ent-maps*)))
|
(let [ent-maps (vec (db-malli-schema/update-properties-in-ents ent-maps*))
|
||||||
schema (db-validate/update-schema db-malli-schema/DB db {:closed-schema? closed-maps})]
|
schema (db-validate/update-schema db-malli-schema/DB db {:closed-schema? closed-maps})]
|
||||||
(if-let [errors (->> ent-maps
|
(if-let [errors (->> ent-maps
|
||||||
(m/explain schema)
|
(m/explain schema)
|
||||||
|
@ -62,10 +62,15 @@
|
||||||
(println "Error: For graph" (str (pr-str graph-dir) ":") (str e))
|
(println "Error: For graph" (str (pr-str graph-dir) ":") (str e))
|
||||||
(js/process.exit 1)))
|
(js/process.exit 1)))
|
||||||
datoms (d/datoms @conn :eavt)
|
datoms (d/datoms @conn :eavt)
|
||||||
ent-maps (db-malli-schema/datoms->entity-maps datoms)]
|
ent-maps (vals (db-malli-schema/datoms->entity-maps datoms))]
|
||||||
(println "Read graph" (str db-name " with " (count datoms) " datoms, "
|
(println "Read graph" (str db-name " with " (count datoms) " datoms, "
|
||||||
(count ent-maps) " entities and "
|
(count ent-maps) " entities, "
|
||||||
(count (mapcat :block/properties (vals ent-maps))) " properties"))
|
(count (filter :block/name ent-maps)) " pages, "
|
||||||
|
(count (filter :block/content ent-maps)) " blocks, "
|
||||||
|
(count (filter #(contains? (:block/type %) "class") ent-maps)) " classes, "
|
||||||
|
(count (filter #(seq (:block/tags %)) ent-maps)) " objects, "
|
||||||
|
(count (filter #(contains? (:block/type %) "property") ent-maps)) " properties and "
|
||||||
|
(count (mapcat :block/properties ent-maps)) " property values"))
|
||||||
(validate-client-db @conn ent-maps options)))
|
(validate-client-db @conn ent-maps options)))
|
||||||
|
|
||||||
(defn -main [argv]
|
(defn -main [argv]
|
||||||
|
|
Loading…
Reference in New Issue