Size: a a a

Clojure — русскоговорящее сообщество

2019 December 20

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
т.е. на namespace’ы
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Damir Farazetdinov
Ты можешь сам разбить на векторы мап.
Один вектор - одна таблица (тип сущности).
Потом на месте сконкатенировать все векторы и одной кучей пульнуть.
Также можно и на файлы разбить.
Хах, спасибо за наводку)
Конечно пока я этого делать не буду, в моем пете пока будет всего несколько сущностей)
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
вот ещё посмотри:
https://github.com/avescodes/conformity
источник

V0

Vlad 0xcd55d8db in Clojure — русскоговорящее сообщество
Andrew Rudenko
Что, когда?
давайте сегодня вечером? я могу в любое, а куда именно - тебе должно быть виднее, желательно недалеко от mitte
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
👍
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Блин, че-то рефы не могу никак сообразить
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
{:db/ident :reg/course
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one}
{:db/ident :reg/semester
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one}
{:db/ident :reg/student
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one}

Как он понимает куда реф?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
реф может быть хоть куда, на любую сущность
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
никак. ему пофиг на тип сущности. нумерация сущностей сквозная
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Типа это всё потом запросом управляется?
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
в запросах тоже нет инфы о типе сущности или таблице.
строго говоря таблица просто одна EAVT.
каждая запись в ней - это лишь факт. одна сущность состоит из нескольких фактов.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
ref - это ссылка. значение в ней - тупо номер.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
если студент ссылается на курс, то говорится, что в поле :student/course зашито значение 42, а :db/id курса - это 42
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
вместо 42 обычно такие номера: 17592186045815
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
А как мне выбрать всех студентов курса, можно такой пример?
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
(d/q '[:find ?e
         :where [?e :student/uid]]
 db)
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Вместо student/uid можно любое другое поле, которое 100% есть у student.
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Ок, спс
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Tim Plotnikov
А как мне выбрать всех студентов курса, можно такой пример?
IMHO, для datomic такой запрос не очень идиоматичен.
для поиграться - пойдёт.
но если собираешься серьёзную вещь делать, то подумай, как в этой серьёзной вещи избавиться от необходимости «показывать юзеру все сущности такого-то типа»
а то ударишься об то, что в datomic пагинация - не пагинация.
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Damir Farazetdinov
IMHO, для datomic такой запрос не очень идиоматичен.
для поиграться - пойдёт.
но если собираешься серьёзную вещь делать, то подумай, как в этой серьёзной вещи избавиться от необходимости «показывать юзеру все сущности такого-то типа»
а то ударишься об то, что в datomic пагинация - не пагинация.
Ну как не идеоматичен, это довольно простой юз-кейс.
Если у Datomic проблемы с такого рода вещами, значит ли это что он не general purpose инструмент?
источник