Tienson Qin 8 месяцев назад
Родитель
Сommit
db18543383

+ 1 - 1
src/main/frontend/worker/db/migrate.cljs

@@ -142,7 +142,7 @@
                           :block/name (common-util/page-name-sanity-lc new-title)})))
               classes-to-rename)))))
 
-(defn- separate-classes-and-properties
+(defn separate-classes-and-properties
   [conn _sqlite-db]
   ;; find all properties that're classes, create new properties to separate them
   ;; from classes.

+ 37 - 0
src/test/frontend/worker/migrate_test.cljs

@@ -0,0 +1,37 @@
+(ns frontend.worker.migrate-test
+  (:require ["fs" :as fs-node]
+            [cljs.test :refer [deftest is testing]]
+            [datascript.core :as d]
+            [frontend.worker.db.migrate :as db-migrate]
+            [logseq.db :as ldb]))
+
+(deftest test-separate-classes-and-properties
+  (testing "Separate properties from classes"
+    (let [db-transit (str (fs-node/readFileSync "src/test/migration/65.0.transit"))
+          db (ldb/read-transit-str db-transit)
+          conn (d/conn-from-db db)
+          tx-data (db-migrate/separate-classes-and-properties conn nil)
+          new-property (first tx-data)]
+      (is (= (dissoc new-property
+                     :block/updated-at
+                     :block/created-at
+                     :db/ident
+                     :block/uuid)
+             {:db/index true,
+              :logseq.property/type :default,
+              :db/valueType :db.type/ref,
+              :block/tags #{:logseq.class/Property},
+              :block/title "Book",
+              :db/cardinality :db.cardinality/one,
+              :logseq.property/classes 156,
+              :block/order "a6",
+              :block/name "book"}))
+      (is (= (rest tx-data)
+             [[:db/retract 156 :block/tags :logseq.class/Property]
+              [:db/retract 156 :logseq.property/type]
+              [:db/retract 156 :db/cardinality]
+              [:db/retract 156 :db/valueType]
+              [:db/retract 156 :db/index]
+              [:db/retract 156 :logseq.property/classes]
+              [:db/retract 157 :user.class/Book-FrG9O7sY 155]
+              [:db/add 157 (:db/ident new-property) 155]])))))

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
src/test/migration/65.0.transit


Некоторые файлы не были показаны из-за большого количества измененных файлов