Datomic: невозможно оценить д / транзакцию из REPL - PullRequest
0 голосов
/ 22 декабря 2019

Я новичок в Datomic on-prem. Но я не могу вызвать ad / transact из моего редактора.

Я запустил свой одноранговый сервер и мой transactor.

bin/run -m datomic.peer-server -h localhost -p 8998 -a myaccesskey,mysecret -d pensine,datomic:dev://localhost:4334/pensine
bin/transactor config/samples/dev-transactor-template.properties 

Я записал это в свой буфер


(def cfg {:server-type :peer-server
          :access-key "myaccesskey"
          :secret "mysecret"
          :endpoint "localhost:8998"})

(def client (d/client cfg))


(def conn (d/connect client {:db-name "datomic:dev://localhost:4334/pensine"}))

// Loaded everything above in the REPL then tried to evaluate the expression below.

(d/transact conn {:tx-data [{:db/ident :red}]}) // this throw the error below
@(d/transact conn {:tx-data [{:db/ident :red}]}) // this throw the error below

Выход REPL:

Execution error (IllegalArgumentException) at datomic.client.api.protocols/fn$G (protocols.clj:72).
No implementation of method: :transact of protocol: #'datomic.client.api.protocols/Connection found for class: clojure.lang.Var$Unbound

1 Ответ

0 голосов
/ 22 декабря 2019

В моей настройке dev-in-memory я запускаю одноранговый сервер с аргументом

-d pensine,datomic:mem://pensine

и подключаюсь, используя

(def conn (d/connect client {:db-name "pensine"}))

В этой настройке вам не нужен транзактор,

Надеюсь, это поможет, я еще не сделал более полную настройку.

...