В проекте пока присутствуют лишние файлы, по умолчанию сгенерированные Luminus, некоторые из них я просто закомментил. Позже удалю все ненужные файлы и комментарии
- Для запуска проекта в Intellij Idea нужно установить плагин cursive.
- В открытом проекте в Idea пкм на project.clj -> Run REPL / Debug REPL
- В репле вводим
(start)
, библиотека mount запустит все необходимые коннекты и создадст подобие pendency graph`а.
-
Создать аккаунт на сайте datomic, скачать datomic starter https://www.datomic.com/get-datomic.html, разархивировать и открыть директорию в терминале
-
Запросить license key (Send licence key) в лк datomic https://my.datomic.com/account
-
Заменить license= в config/samples/dev-transactor-templates.properties на ключ, который пришел на почту
-
Запустить transactor -
bin/transactor -Ddatomic.printConnectionInfo=true config/samples/dev-transactor-template.properties
. Дальнейшая работа происходит в отдельном окне терминала. -
Если подключаемся впервые, то отдельном окне терминала создаем новую бд: для этого запускаем репл bin/repl , затем
(require '[datomic.api :as d])
(def db-uri "datomic:dev://localhost:4334/url-shortener")
- где "url-shortener" - имя бд(d/create-database db-uri)
- создаем бд "url-shortener"(def conn (d/connect db-uri))
- проверяем соединение -
Для работы с бд используется datomic client library, которая общается с Peer Server. Peer Server, в свою очередь обращается к хранилищу и транзактору для выполнения операций в бд. Запускаем Peer Server, myaccesskey и mysecret нужно заменить на url-shortener :
bin/run -m datomic.peer-server -h localhost -p 8998 -a url-shortener,url-shortener -d url-shortener,datomic:dev://localhost:4334/url-shortener
-
Опционально в одтельном окне терминала можно запустить веб-консоль
bin/console -p 8080 dev datomic:dev://localhost:4334/
-
В самом проекте запускаем репл и вводим
(start)
. В списке созданных зависимостей должен появиться"#'clj-url-shortener.db.core/conn"