2017-01-28 7 views
2

Я новичок в Datomic. Я пытаюсь добавить таксономию в свою базу данных, но получаю ошибку, за которой я не могу следовать. Ошибка:Ошибка «Не удалось разрешить сущность» при попытке выполнить транзакционную схему

{:datomic.client-spi/request-id "c587b3e8-8f19-45f5-a563-bdba13e3a0d8", 
:cognitect.anomalies/category :cognitect.anomalies/not-found, 
:cognitect.anomalies/message 
":db.error/not-an-entity Unable to resolve entity: {:idx -1000000, :part :db.part/db} in datom [{:idx -1000000, :part :db.part/db} :db/ident :arb/title]", 
:dbs 
[{:database-id "datomic:dev://localhost:4334/datemo", 
    :t 1004, 
    :next-t 1009, 
    :history false}]} 

Вот таксономия, что я использую:

[{:db/id #db/id [:db.part/db] 
    :db/ident   :arb/title 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one 
    :db/fulltext  true 
    :db/index   true 
    :db.install/_attribute :db.part/db} 

{:db/id #db/id [:db.part/db] 
    :db/ident   :arb/description 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one 
    :db.install/_attribute :db.part/db} 

{:db/id #db/id [:db.part/db] 
    :db/ident   :arb/content 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/ref 
    :db/isComponent true 
    :db/cardinality :db.cardinality/many 
    :db.install/_attribute :db.part/db}] 

А вот вызов, который я сделал:

(def arb-tx (-> (io/resource "schemas/arb.edn") ;; the schema above 
       (read-all) 
       (first))) 

(pprint (<!! (client/transact conn {:tx-data arb-tx}))) 

Это трудно для меня, чтобы понять, из сообщения об ошибке, что точно не разрешимо здесь. Я думаю, что мое понимание того, что происходит под капотом, слишком расплывчато, чтобы понять, что здесь не так. Может ли кто-нибудь просветить меня?

ответ

2

Библиотека Datomic Client не поддерживает явный раздел или: db.install/_attribute в определении схемы. Эти элементы требовались при использовании Peers до Datomic 0.9.5430.

Попробуйте заменить ваше определение схемы с:

[{:db/ident   :arb/title 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one 
    :db/fulltext  true 
    :db/index   true} 

{:db/ident   :arb/description 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one} 

{:db/ident   :arb/content 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/ref 
    :db/isComponent true 
    :db/cardinality :db.cardinality/many}] 

-Marshall

 Смежные вопросы

  • Нет связанных вопросов^_^