Просмотр исходного кода

fix: migrated properties not migrating :logseq.property/type or

most of the property-only properties that a user could have set
Gabriel Horner 8 месяцев назад
Родитель
Сommit
b48dfce552

+ 14 - 3
src/main/frontend/worker/db/migrate.cljs

@@ -161,16 +161,27 @@
              ident (:db/ident class)
              new-property (sqlite-util/build-new-property
                            (:block/title class)
-                           (get-in class [:logseq.property/type :db/cardinality])
+                           (select-keys class [:logseq.property/type :db/cardinality])
                            {:title (:block/title class)
                             :ref-type? true
-                            :properties {:logseq.property/classes id}})
+                            :properties (merge
+                                         (select-keys class [:logseq.property/hide? :logseq.property/public?
+                                                             :logseq.property/view-context :logseq.property/ui-position
+                                                             :logseq.property/default-value :logseq.property/hide-empty-value :logseq.property/enable-history?])
+                                         {:logseq.property/classes id})})
              retract-property-attrs [[:db/retract id :block/tags :logseq.class/Property]
                                      [:db/retract id :logseq.property/type]
                                      [:db/retract id :db/cardinality]
                                      [:db/retract id :db/valueType]
                                      [:db/retract id :db/index]
-                                     [:db/retract id :logseq.property/classes]]
+                                     [:db/retract id :logseq.property/classes]
+                                     [:db/retract id :logseq.property/hide?]
+                                     [:db/retract id :logseq.property/public?]
+                                     [:db/retract id :logseq.property/view-context]
+                                     [:db/retract id :logseq.property/ui-position]
+                                     [:db/retract id :logseq.property/default-value]
+                                     [:db/retract id :logseq.property/hide-empty-value]
+                                     [:db/retract id :logseq.property/enable-history?]]
              datoms (d/datoms db :avet ident)]
          (concat [new-property]
                  retract-property-attrs

+ 8 - 1
src/test/frontend/worker/migrate_test.cljs

@@ -19,7 +19,7 @@
                      :block/uuid
                      :block/order)
              {:db/index true,
-              :logseq.property/type :default,
+              :logseq.property/type :node,
               :db/valueType :db.type/ref,
               :block/tags #{:logseq.class/Property},
               :block/title "Book",
@@ -33,5 +33,12 @@
               [:db/retract 156 :db/valueType]
               [:db/retract 156 :db/index]
               [:db/retract 156 :logseq.property/classes]
+              [:db/retract 156 :logseq.property/hide?]
+              [:db/retract 156 :logseq.property/public?]
+              [:db/retract 156 :logseq.property/view-context]
+              [:db/retract 156 :logseq.property/ui-position]
+              [:db/retract 156 :logseq.property/default-value]
+              [:db/retract 156 :logseq.property/hide-empty-value]
+              [:db/retract 156 :logseq.property/enable-history?]
               [:db/retract 157 :user.class/Book-FrG9O7sY 155]
               [:db/add 157 (:db/ident new-property) 155]])))))