fix: built-in props weren't persisted to opfs

and didn't show up in new graphs. Fixes LOG-2998. Issue was that
e6a464e64f introduced transacting built-in
properties twice. Since the first transaction doesn't send tx-data to
the db-worker (an issue with pipeline/invoke-hooks it seems), the 2nd tx
results in missing property info including name. Removing this
incorrectly setup first tx allows the original one to successfully send
initial property data to db-worker
pull/10838/head
Gabriel Horner 2024-01-08 11:26:22 -05:00
parent 6e911798e7
commit 0957cb15b3
2 changed files with 4 additions and 30 deletions

View File

@ -4,11 +4,7 @@
[logseq.db.frontend.schema :as db-schema]
[datascript.core :as d]
[cljs-time.core :as t]
[cljs-time.coerce :as tc]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.property.util :as db-property-util]
[logseq.db.sqlite.util :as sqlite-util]
[clojure.string :as string]))
[cljs-time.coerce :as tc]))
(defn create-default-pages!
"Creates default pages if one of the default pages does not exist. This
@ -26,34 +22,12 @@
default-db/built-in-pages)]
(d/transact! db-conn built-in-pages))))
(defn create-built-in-properties!
[conn]
(let [txs (mapcat
(fn [[k-keyword {:keys [schema original-name] :as property-config}]]
(let [k-name (name k-keyword)]
(if (:closed-values property-config)
(db-property-util/build-closed-values
(or original-name k-name)
(assoc property-config :block/uuid (d/squuid))
{})
[(sqlite-util/build-new-property
{:block/schema schema
:block/original-name (or original-name k-name)
:block/name (string/lower-case k-name)
:block/uuid (d/squuid)})])))
db-property/built-in-properties)]
(when (seq txs)
(d/transact! conn txs))))
(defn start-conn
"Create datascript conn with schema and default data"
[& {:keys [create-default-pages? schema file-based?]
[& {:keys [create-default-pages? schema]
:or {create-default-pages? true
schema db-schema/schema}}]
(let [db-conn (d/create-conn schema)
file-based? (or (= schema db-schema/schema) file-based?)]
(let [db-conn (d/create-conn schema)]
(when create-default-pages?
(create-default-pages! db-conn {}))
(when-not file-based?
(create-built-in-properties! db-conn))
db-conn))

View File

@ -75,7 +75,7 @@
([dir options]
(let [config (read-config dir)
files (or (:files options) (build-graph-files dir config))
conn (or (:conn options) (ldb/start-conn {:file-based? true}))
conn (or (:conn options) (ldb/start-conn))
_ (when-not (:files options) (println "Parsing" (count files) "files..."))
asts (parse-files conn files (merge options {:config config}))]
{:conn conn