fix: invalid data for old graphs

skip db validate when migrating db
This commit is contained in:
Tienson Qin
2025-11-09 08:28:24 +08:00
parent 4462634f0e
commit 965ff3059c
2 changed files with 12 additions and 1 deletions

View File

@@ -551,7 +551,8 @@
tx-data' (concat
[(sqlite-util/kv :logseq.kv/schema-version version)]
tx-data)
r (ldb/transact! conn tx-data' {:db-migrate? true})
r (ldb/transact! conn tx-data' {:db-migrate? true
:skip-validate-db? true})
migrate-updates (cond-> migrate-updates
rename-db-idents (assoc :rename-db-idents rename-db-idents-coll))]
(println "DB schema migrated to" version)

View File

@@ -6,6 +6,7 @@
[frontend.worker.db.migrate :as db-migrate]
[frontend.worker.shared-service :as shared-service]
[logseq.db :as ldb]
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.validate :as db-validate]))
(defn- get-property-by-title
@@ -21,6 +22,15 @@
(fn [{:keys [entity dispatch-key]}]
(let [entity (d/entity db (:db/id entity))]
(cond
;; missing :db/ident
(and (ldb/class? entity) (nil? (:db/ident entity)) (:block/title entity))
[[:db/add (:db/id entity) :db/ident (db-class/create-user-class-ident-from-name db (:block/title entity))]]
(and
(= (:block/title (:logseq.property/created-from-property entity)) "description")
(nil? (:block/page entity)))
(let [property-id (:db/id (:logseq.property/created-from-property entity))]
[[:db/add (:db/id entity) :block/page property-id]
[:db/add (:db/id entity) :block/parent property-id]])
(and (:db/ident entity)
(:logseq.property/built-in? entity)
(:block/parent entity))