Size: a a a

2021 February 17

IK

Ivan Kretov in Haskell
    ╤ЄюысхЎ     |    ╥шя    | ╧Ёртшыю ёюЁЄшЁютъш | ─юяєёЄшьюёЄ№ NULL | ╧ю єьюыўрэш■
----------------+-----------+--------------------+-------------------+--------------
id             | bigint    |                    |                   |
name           | text      |                    |                   |
qualifications | integer[] |                    |                   |
category       | text      |                    |                   |
address        | json      |                    |                   |
источник

A

Andrey in Haskell
ну т.е. таблица вроде как соответствует спецификации persistent, данные (2 записи) — тоже.
а сам INSERT запрос в логи сервера / stdout падает?
источник

IK

Ivan Kretov in Haskell
Вот как то так:
[Debug#SQL] SELECT "id", "name", "category", "address", "qualifications" FROM "branch" WHERE ("id" IN (?,?)); [PersistInt64 1,PersistInt64 2]
127.0.0.1 - - [17/Feb/2021:18:21:21 +0300] "GET /api/providers/1/branches HTTP/1.1" 200
562 "http://localhost:4200/provider?prov_id=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
[Debug#SQL] INSERT INTO "branch"("name","category","address","qualifications") VALUES(?,?,?,?) RETURNING "id"; [PersistText "Haba",PersistText "State assessments",PersistNull,PersistNull]
источник

A

Andrey in Haskell
о!
источник

A

Andrey in Haskell
а руками запущенный insert скрипт пройдёт, если поменять
- PersistNull на null
- и PersistText "..." на '...'?
источник

A

Andrey in Haskell
Ivan Kretov
    ╤ЄюысхЎ     |    ╥шя    | ╧Ёртшыю ёюЁЄшЁютъш | ─юяєёЄшьюёЄ№ NULL | ╧ю єьюыўрэш■
----------------+-----------+--------------------+-------------------+--------------
id             | bigint    |                    |                   |
name           | text      |                    |                   |
qualifications | integer[] |                    |                   |
category       | text      |                    |                   |
address        | json      |                    |                   |
вообще в 4-й колонке в строке id — должно быть not null
источник

A

Andrey in Haskell
можно попробовать дропнуть таблицу, перезапустить сервер, чтобы yesod прогнал миграции и создал таблицу обратно, а затем убедиться, что id в таблице not null и первичный ключ создался, и всё как надо.

а то выходит, что запрос проходит, возвращается id = null, а затем персистент такое отвалидировать не может (т.к. ожидает, что значение Int64 вернётся, а по факту null) и валится.
источник

A

Andrey in Haskell
и транзакция откатывается
источник

IK

Ivan Kretov in Haskell
Andrey
можно попробовать дропнуть таблицу, перезапустить сервер, чтобы yesod прогнал миграции и создал таблицу обратно, а затем убедиться, что id в таблице not null и первичный ключ создался, и всё как надо.

а то выходит, что запрос проходит, возвращается id = null, а затем персистент такое отвалидировать не может (т.к. ожидает, что значение Int64 вернётся, а по факту null) и валится.
наверно в этом дело, потому что я таблицу пилил вручную
источник

A

Andrey in Haskell
Ivan Kretov
наверно в этом дело, потому что я таблицу пилил вручную
+
источник

A

Andrey in Haskell
в йесоде/персистенте есть какая-то практика/функция по накатыванию миграций
источник

A

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

JS

Jerzy Syrowiecki in Haskell
Andrey
в йесоде/персистенте есть какая-то практика/функция по накатыванию миграций
источник

JS

Jerzy Syrowiecki in Haskell
источник

LO

Leonid 🦇 Onokhov in Haskell
как думаете
fooL f Blah{..} = (\f -> Blah{foo=f, ..}) <$> f foo
и
fooL f b@Blah{..} = (\f -> b { foo = f}) <$> f foo
одинаковую корку сделает?
источник

LO

Leonid 🦇 Onokhov in Haskell
все поля строгие
источник

JS

Jerzy Syrowiecki in Haskell
Leonid 🦇 Onokhov
как думаете
fooL f Blah{..} = (\f -> Blah{foo=f, ..}) <$> f foo
и
fooL f b@Blah{..} = (\f -> b { foo = f}) <$> f foo
одинаковую корку сделает?
60 секунд прошло. каков правильный ответ?
источник

LO

Leonid 🦇 Onokhov in Haskell
да
источник

LO

Leonid 🦇 Onokhov in Haskell
долго пересобирал с оптимизацией прост
источник

AA

A64m AL256m qn<co... in Haskell
ладно, очередную порцию магваеростраданий вмерджили
https://github.com/haskell/haskell-language-server/commit/430ba2dfd78dd09760bdda8666f2a806b7d61ea7
источник