update schema for new hidden page attributes

part of LOG-2854. Also update --closed-maps to use library fn
This commit is contained in:
Gabriel Horner
2023-10-26 12:04:26 -04:00
parent 9c251ff413
commit e5e25bb403
2 changed files with 17 additions and 16 deletions

View File

@@ -3,13 +3,12 @@
NOTE: This script is also used in CI to confirm our db's schema is up to date"
(:require [logseq.db.sqlite.cli :as sqlite-cli]
[logseq.db.sqlite.db :as sqlite-db]
[logseq.db.frontend.schema :as db-schema]
[logseq.db.frontend.malli-schema :as db-malli-schema]
[datascript.core :as d]
[clojure.string :as string]
[nbb.core :as nbb]
[clojure.walk :as walk]
[malli.core :as m]
[malli.util :as mu]
[babashka.cli :as cli]
["path" :as node-path]
["os" :as os]
@@ -44,20 +43,11 @@
"Updates the db schema to add a datascript db for property validations
and to optionally close maps"
[db-schema db {:keys [closed-maps]}]
(let [db-schema-with-property-vals (db-malli-schema/update-properties-in-schema db-schema db)]
(if closed-maps
;; closes maps that don't have an explicit :closed option
(walk/postwalk (fn [e]
(if (and (vector? e)
(= :map (first e)))
(if (map? (second e))
(if (not (contains? (second e) :closed))
(assoc e 1 (assoc (second e) :closed true))
e)
(into [:map {:closed true}] (rest e)))
e))
db-schema-with-property-vals)
db-schema-with-property-vals)))
(cond-> db-schema
true
(db-malli-schema/update-properties-in-schema db)
closed-maps
mu/closed-schema))
(defn validate-client-db
"Validate datascript db as a vec of entity maps"