我正在尝试找到一种有效的方法来确定数据库中是否已经定义了Datomic属性。
我正在使用Scala包装器Datomisca。这是我到目前为止找到的最佳方式:
val exists =
Datomic.q(Query("""
[:find ?attr
:in $
:where [_ :db.install/attribute ?i]
[?i :db/ident ?part]
]"""), Datomic.database).map {
case DKeyword(keyword) => keyword.toString
}.contains(":some/attribute")
但我猜有更好的方法。
我使用Datomisca 0.6运行Datomic-pro 0.9.4755。
答案 0 :(得分:1)
我认为您正在寻找 datomisca.SchemaManager.hasAttribute(...):https://github.com/pellucidanalytics/datomisca/blob/develop/core/src/main/scala/datomisca/schemaManagement.scala