Size: a a a

2021 February 17

A

Andrey in Haskell
вопрос о ломании/цементировании сигнатур вообще не встаёт
источник

D

Dreamerinnoise in Haskell
Ivan Kretov
Здравствуйте! Скажите, как дать определение ключу в persistent, чтобы он выдавал не Int64 а Int8? Я сейчас имею в виду Yesod persistent
@swamp_agr не сталкивался?
по-моему, там в энтити нужно указать свой Id
источник

D

Dreamerinnoise in Haskell
источник

A

Andrey in Haskell
Dreamerinnoise
@swamp_agr не сталкивался?
по-моему, там в энтити нужно указать свой Id
я помню, что раньше вообще не указывал в persistent поле с Id, и оно неявным образом формировалось средствами самого персистента.
источник

D

Dreamerinnoise in Haskell
Andrey
я помню, что раньше вообще не указывал в persistent поле с Id, и оно неявным образом формировалось средствами самого персистента.
оно и неявным образом формируется в зависимости от бэкэнда
источник

D

Dreamerinnoise in Haskell
с монгой он будет не int64
источник

A

Andrey in Haskell
ну понятно
источник

A

Andrey in Haskell
Andrey
я помню, что раньше вообще не указывал в persistent поле с Id, и оно неявным образом формировалось средствами самого персистента.
а внешний ключ для таблицы задавался вроде так:

someTablePersonId    PersonId Maybe
источник

YS

Yan Shkurinskiy in Haskell
Andrey
it depends

например, в некоторых проектах не используется такой подход с Has классами типов (если я верно понимаю, то оттуда уже произрастают вариации в сторону mtl, фримонад, систем эффектов, ...), а вместо этого — Handle Pattern, в котором сервисы со своими контекстами явно передаются в качестве аргументов функций, и ничего, брат жив..
Насчёт Has классов - это кажется некоторое фэнси вокруг обычного ReaderT паттерна
источник

YS

Yan Shkurinskiy in Haskell
В capabilities же примерно так?
источник

A

Andrey in Haskell
Andrey
а внешний ключ для таблицы задавался вроде так:

someTablePersonId    PersonId Maybe
но это всё такое, надо нарочно вспоминать..
кроме того проекта в прошлом — не доводилось persistent трогать (но это временно..)
а прямо сейчас у меня нет ответа
источник

IK

Ivan Kretov in Haskell
Проблема в том, что я получаю данный ответ от консоли:
```
Failed to parse Haskell type `Int64`; expected integer from database, but received: PersistNull. Potential solution: Check that your database schema matches your Persistent model definitions.
```
источник

A

Andrey in Haskell
а как таблица и запрос выглядят?
источник

IK

Ivan Kretov in Haskell
postCreateBr :: Handler ()
postCreateBr = do
 x <- requireCheckJsonBody
 branchId <- runDB $ insert $ Branch ( branchName x ) ( branchCategory x ) Nothing Nothing
 liftIO $ print ( branchId :: Key Branch )
источник

IK

Ivan Kretov in Haskell
Branch
   name String
   category String
   address Address Maybe
   qualifications [Int] Maybe
   deriving Show Read Generic
источник

A

Andrey in Haskell
хм.. тогда интерес представляют то, как выглядит таблица в постгресе и запрос (в логах в дебаге должен или может присутствовать)
источник

IK

Ivan Kretov in Haskell
 id |              name              | qualifications |             category             |                                                                     address
----+--------------------------------+----------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------
 2 | Faculty of Physics & Astronomy | {}             | Higher education degrees         | {"line2":null,"postalcode":"4MN WE5","country":"United Kingdom","cityortown":"London","house_name":null,"line1":"Main street","house_number":1}
 1 | Faculty of Mathematics         | {}             | Language proficiency assessments | {"line2":null,"postalcode":"4MN WE5","country":"Japan","cityortown":"London","house_name":null,"line1":"Main street","house_number":1}
источник

IK

Ivan Kretov in Haskell
Andrey
хм.. тогда интерес представляют то, как выглядит таблица в постгресе и запрос (в логах в дебаге должен или может присутствовать)
это имеется в виду? Прошу прощения за вид
источник

A

Andrey in Haskell
\d table_name (в psql)
источник

IK

Ivan Kretov in Haskell
формат id int8
источник