Size: a a a

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

2019 August 08

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Vyacheslav Mikushev
Honeysql можно расширять любыми операторами.
Возможно, но для меня выглядело как попытка всеми силами не использовать sql.
источник

ИФ

Иван Федоров in Clojure — русскоговорящее сообщество
Господа, а есть у кого-то сведения про сообщество мобильных Clojure[Script] разработчиков?
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
В чистом sql’е нужно искейпить входные параметры.
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
И делать это все ручками, чтобы избежать иньекций.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Alexey Golda
Почему на любой чих?
Описание ддл с созданием кастомных типов в постгре, запросы по json - то что быстро вспомнил
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Не на любой, но когда надо можно. Ещеможно extend protocol и вперёд, но если ты поклонник всегда писать в чистом sql то пожалуйста выбирай, я не уговариваю ;)
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Vyacheslav Mikushev
В чистом sql’е нужно искейпить входные параметры.
HugSQL вроде делает это при этом это просто темплейт, как Jinja например, как я понял
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Mike Bohdan
Описание ддл с созданием кастомных типов в постгре, запросы по json - то что быстро вспомнил
(defn jsonb-selector [v]
 (let [[_ col op path] (re-find #"(.+)(#>>|#>)(.+)" v)
       path (str/replace path "." ",")]
   (str (sqlf/to-sql (keyword col)) op "'{" path "}'")))
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Вот для запросов по jsonb.
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Vyacheslav Mikushev
(defn jsonb-selector [v]
 (let [[_ col op path] (re-find #"(.+)(#>>|#>)(.+)" v)
       path (str/replace path "." ",")]
   (str (sqlf/to-sql (keyword col)) op "'{" path "}'")))
Ужоснах
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
А что ужасного?
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Все
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Extend protocol и без всякого такого синтаксического ужаса
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
+ частично помогает honeysql-postgres
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
А, и как мне показалось, возможно не прав, Honey может провоцировать писать запросы по всему приложению - тем самым размазывая сайдэффекты по всей кодбазе, а когда у тебя есть один sql файл запросы ограничиваются им и их фиксированое количество
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Ещё раз, я не агитирую. Sql прекрасен. Если вы видите больше плюсов, то почему нет ;)
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Я просто свои наблюдения озвучил, не спора ради)
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Мне в 85% случаев помогает обычный honeysql/build
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
Остальные 15% я удовлетворяю с помощью sql/raw и extend-protocol
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
палка о двух концах. Пока запросы простые, подходит sql на мапах. Как только нативные фичи БД, все обрастает sql/raw и проще сырой написать, чем лепить франкенштейна
источник