确定Datomic(Datomisca)中是否存在属性

时间:2014-04-24 20:00:45

标签: scala datomic datomisca

我正在尝试找到一种有效的方法来确定数据库中是否已经定义了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。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找 datomisca.SchemaManager.hasAttribute(...)https://github.com/pellucidanalytics/datomisca/blob/develop/core/src/main/scala/datomisca/schemaManagement.scala