170 похожих чатов

Есть те, кто юзает горм (не по своей воле  :D)

почему метод Save всегда вызывает инсерт? В доке вижу, что должен быть update, если primary key присутсвует, в ином случае инсерт, но по какой-то причине в логах всегда вижу только insert, даже если праймари кей в модели присутсвует. Не сталкивался никто с таким?

13 ответов

9 просмотров

upsert, он же INSERT ... ON CONFLICT UPDATE

Pavel- Автор вопроса
Dmitry M
upsert, он же INSERT ... ON CONFLICT UPDATE

ага, всегда апсерт, если конкретнее, но в доке вижу, что должно быть "Save is a combination function. If save value does not contain primary key, it will execute Create, otherwise it will execute Update (with all fields).",  хотя в логах вообще не вижу апдейты

Pavel
ага, всегда апсерт, если конкретнее, но в доке виж...

Если СУБД поддерживает upsert, то зачем делать несколько запросов?

Pavel- Автор вопроса
Dmitry M
Если СУБД поддерживает upsert, то зачем делать нес...

А почему несколько запросов? Тут либо апдейт либо инсерт (?), плюсом кое какие нюансы есть с некоторыми поведения апсертов

Pavel
А почему несколько запросов? Тут либо апдейт либо ...

Без механизма upsert будет два запроса: 1. insert; 2. если получили ошибку целостности, то update

Pavel- Автор вопроса
Dmitry M
Без механизма upsert будет два запроса: 1. insert;...

да вроде бы просто "предзапросная" проверка на наличие первичного ключа и оттуда уже выбор запроса(?)

Подай сигнал если тебя держат в плену

приведите пример

Pavel- Автор вопроса
Dmitry M
приведите пример

ну если во внутренности  Save метода залезть, то он проверяет, что первичное поле (т.е поле с тегом primaryKey) не нулевое и делает апдейт и только в противном случае инсерт/апсерт, но я в логах вижу, что даже при наличии первоичного ключа делает инсерт/апсер

А если первичное поле uuid/string, который генерится на стороное приложения?

Pavel- Автор вопроса
Dmitry M
А если первичное поле uuid/string, который генерит...

в моем случае оно всегда с gorm.Model, т.е интовое. Мб как-то с типом связано? Хз

Pavel
в моем случае оно всегда с gorm.Model, т.е интовое...

Если решать задачу в общем виде, то проверка на пустое/не пустое поле не очень работает

Pavel- Автор вопроса
Dmitry M
Если решать задачу в общем виде, то проверка на пу...

не, это горм так рулит на своем уровне, точнее должен, но чет апдейты никогда не происходят

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
61
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Привет всем. Не знаю, удачный ли чатик я выбрал для вопроса, но он как будто в целом про концепцию фп и конкретно про Haskell. Прочитал, что в целом в мире фп нет идеи мутабел...
Gellert Cringewald
15
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
Карта сайта