We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent aa2f963 commit 2df1f14Copy full SHA for 2df1f14
src/datascript/db.cljc
@@ -1299,6 +1299,13 @@
1299
(defn get-schema [db]
1300
(or (:schema db) {}))
1301
1302
+(defn- get-e-schema
1303
+ [schema e db-ident]
1304
+ (let [result (schema e)]
1305
+ (if (keyword? result)
1306
+ (schema db-ident)
1307
+ result)))
1308
+
1309
(defn update-schema [db ^Datom datom]
1310
(let [schema (get-schema db)
1311
e (.-e datom)
@@ -1308,7 +1315,7 @@
1315
v-ident v]
1316
(if (= a-ident :db/ident)
1317
(-> db
- (assoc-in [:schema v-ident] (merge (or (schema e) {}) (hash-map a-ident v-ident)))
1318
+ (assoc-in [:schema v-ident] (merge (or (get-e-schema schema e v-ident) {}) (hash-map a-ident v-ident)))
1312
1319
(assoc-in [:schema e] v-ident))
1313
1320
(if-let [schema-entry (schema e)]
1314
1321
(if (schema schema-entry)
0 commit comments