如何查询存储在数据库数据库中的整个模式?

时间:2015-02-23 22:51:39

标签: datomic

我有一个用多个模式更新的数据库数据库。我希望将整个架构作为映射分离每个架构。这是我目前的查询: (d/q '[:find ?id :where [:db.part/db :db.install/attribute ?p] [?p :db/ident ?id]] db)

1 个答案:

答案 0 :(得分:2)

您想查询以查找:db.install/attribute的所有内容,您可以在this gist以及github上的datomic java examples回购中找到示例。

我在这里复制了这个例子:

(require '[datomic.api :as d] 'clojure.pprint)

;; You can run this with bin/run in the $DATOMIC_DIR
(println "Printing database schema...")
(def conn (d/connect (first *command-line-args*))) ;; call with db-uri as arg

; Find and pretty-print each attribute in schema 
(let [db (d/db conn)]
  (clojure.pprint/pprint
    (map #(->> % first (d/entity db) d/touch)
      (d/q '[:find ?v
             :where [_ :db.install/attribute ?v]]
         db))))