Описание тега opaleye
Haskell library that provides an SQL-generating embedded domain specific language for targeting Postgres
1
ответ
Опалый новый тип
Одно из полей в моем типе данных для таблицы в моей базе данных PostgreSQL - это упаковка нового типа UUID называется ItemId, import Data.Profunctor.Product.TH (makeAdaptorAndInstance) import Data.DateTime (DateTime) import Data.UUID import GHC.Gene…
13 апр '17 в 18:53
1
ответ
leftJoinF в Opaleye и IfPP
Я хочу использовать LEFT JOIN получить продукты и их (необязательные) атрибуты. У меня есть такие типы, как: type ProductPGR = ProductPoly (Column (PGID Product)) (Column PGText) type ProductAttributePGR = ProductAttributePoly (Column (PGID ProductA…
01 май '18 в 18:00
1
ответ
Как реализовать этот нечеткий поисковый SQL-запрос в Opaleye?
У меня есть SQL-запрос, который я пытаюсь преобразовать в Opaleye. Я упросту свой код, чтобы сосредоточиться на сути моего вопроса, а именно на том, как нечеткий поиск с Opaleye. Haskell (с некоторыми существующими структурами Opaleye) namesTable ::…
11 июл '17 в 02:59
0
ответов
Как просмотреть SQL, сгенерированный запросом Opaleye?
В Opaleye Tutorial строка 88 содержит следующий пример ghci команда. ghci> printSql personQuery personQuery есть предопределенный запрос, и кажется, что printSql это функция, которая печатает сгенерированный ею SQL Где это printSql функция опреде…
20 фев '18 в 01:30
2
ответа
Опаловый запрос от String to Maybe
Я хочу выполнить запрос к моей таблице для заданного значения и вернуть Maybe a в зависимости от того, была ли найдена строка. У меня есть этот домен: data User' a b c d e f = User { usrId :: a, usrApproved :: b, usrIden :: c, usrImgUrl :: d, usrTit…
03 сен '16 в 09:46
2
ответа
Как ссылаться на новый ключ в Opaleye как на nullable?
Я использую новые ключи для всех моих таблиц newtype Key' a = Key a deriving (Show, Generic, Functor) type Key = Key' Int64 type KeyR = Key' (Column PGInt8) type KeyW = Key' (Maybe (Column PGInt8)) $(makeAdaptorAndInstance "pKey" ''Key') Теперь я хо…
05 авг '16 в 16:00
4
ответа
Осталось присоединиться в Опалее
Я пытался запустить левое объединение, используя Opaleye в проекте, но я не смог заставить код скомпилировать. Я начну с двух "моделей", которые представляют связанные таблицы: Первый: data ModelA' a b = Model { primA :: a, foreignA :: b } type Mode…
20 окт '17 в 16:07
1
ответ
Может ли Opkeye DSL на Haskell генерировать какой-либо конкретный SQL?
Моя команда использует Opaleye запросить Postgres от Haskell, Тем не менее, мы также используем сырье SQL делать такие вещи как: Инициализируйте базу данных. Включая команды create database а также create table Выполните миграцию базы данных, когда …
19 окт '17 в 22:59
1
ответ
Объявление таблицы Opaleye без использования TemplateHaskell
opaleye Базовое руководство дает пример того, как использовать пользовательские типы в типах записей и запросах: data Birthday' a b = Birthday { bdName :: a, bdDay :: b } type Birthday = Birthday' String Day type BirthdayColumn = Birthday' (Column P…
09 янв '18 в 11:16
1
ответ
Как обобщить Opaleye Query в Haskell (используя винил)?
У меня вопрос между огромными баннерами в блоке кода ниже. Простите за дамп кода, это все вставлено сюда для всех, кто хочет копировать, и этот код работает как положено, хотя это немного странно. Обратите внимание на последние две строки, они печат…
02 июн '17 в 19:04
2
ответа
Почему запросы к базе данных являются хорошим местом для использования стрелок?
Я читал это, в котором говорилось: Ну, дело в том, что обозначение стрелки запрещает некоторые вычисления, которые позволяют обозначения. В частности, все "действия стрелы" должны быть "статически" известны ". и это объясняет: Статически известный "…
09 май '18 в 13:59
1
ответ
В Opaleye, как вставить в две таблицы в одном запросе?
В моей базе данных есть две таблицы с биективным соответствием строк (как описано в этом вопросе). Кажется, это означает, что для вставки строки в каждую таблицу без нарушения ограничений внешнего ключа необходимо, чтобы две вставки происходили в од…
10 мар '18 в 03:52
1
ответ
Поддерживает ли opaleye поддержку upsert / INSERT ON CONFLICT?
Я пытаюсь создать такой запрос: INSERT INTO users (id, level) VALUES (1, 0) ON CONFLICT (id) DO UPDATE SET level = users.level + 1; Однако я не вижу, как это сделать с opaleye? Это не поддерживается? Как ни странно у нас Insert определяется полем iO…
31 май '20 в 14:21
2
ответа
Запрос всех N элементов в отношении M:N
Скажем, у меня есть следующие таблицы, в которых теги моделей прикреплены к статьям: articles (article_id, title, created_at, content) tags (tag_id, tagname) articles_tags (article_fk, tag_fk) Каков идиоматический способ получить nновейшие статьи со…
30 июл '20 в 00:20
2
ответа
Агрегация массивов по таблице ссылок в Opaleye
Я пытаюсь создать запрос Opaleye, соответствующий следующему SQL: select * , (select array_agg(tags.tagname) from articles_tags inner join tags on tags.id = articles_tags.tag_fk where articles_tags.article_fk = articles.id ) from articles Используем…
31 июл '20 в 15:30