Skip to content

Commit 7db748a

Browse files
committed
fix: remove schema
1 parent 60913cd commit 7db748a

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

src/datascript/db.cljc

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,18 +1285,14 @@
12851285
(let [err-msg (str "Schema with attribute " v-ident " does not exist")
12861286
err-map {:error :retract/schema :attribute v-ident}]
12871287
(throw (ex-info err-msg err-map)))
1288-
(-> (assoc-in db [:schema e] (dissoc (schema v-ident) a-ident))
1289-
(update-in [:schema] #(dissoc % v-ident))
1290-
(update-in [:ident-ref-map] #(dissoc % v-ident))
1291-
(update-in [:ref-ident-map] #(dissoc % e))))
1292-
(if-let [schema-entry (schema e)]
1293-
(if (schema schema-entry)
1294-
(update-in db [:schema schema-entry] #(dissoc % a-ident))
1295-
(update-in db [:schema e] #(dissoc % a-ident v-ident)))
1296-
(let [err-msg (str "Schema with entity id " e " does not exist")
1297-
err-map {:error :retract/schema :entity-id e :attribute a :value e}]
1298-
(throw #?(:clj (ex-info err-msg err-map)
1299-
:cljs (ex-info err-msg err-map))))))))
1288+
(update-in db [:schema] #(dissoc % v-ident)))
1289+
(let [e-ident (:v (first (-seek-datoms db :eavt e :db/ident nil nil)))]
1290+
(if (schema e-ident)
1291+
(update-in db [:schema e-ident] #(dissoc % a-ident))
1292+
(let [err-msg (str "Schema with db/ident " e-ident " does not exist")
1293+
err-map {:error :retract/schema :entity-id e :attribute a :value e}]
1294+
(throw #?(:clj (ex-info err-msg err-map)
1295+
:cljs (ex-info err-msg err-map)))))))))
13001296

13011297
(defn get-schema [db]
13021298
(or (:schema db) {}))

0 commit comments

Comments
 (0)