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

Коллеги, еше вопрос по PostgreSQL, делаю скан в поле структуры

и получаю ошибку вида cannot scan null into *string, все решения которые встретил так это sql.NullString и проверка на IsValid. А есть нормальные решения данной ситуации?

интерфейсы и драйвер: pgx

25 ответов

86 просмотров

NullString - нормальное решение.

Artur-Karapetov Автор вопроса
Alexey Gevondyan
NullString - нормальное решение.

привязка модели данных к типу БД - это разве хорошо?

Artur Karapetov
привязка модели данных к типу БД - это разве хорош...

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

Artur-Karapetov Автор вопроса

то есть, решение на Go настолько классное, что заставляет создавать еще один пласт моделей для pgx?

Artur Karapetov
привязка модели данных к типу БД - это разве хорош...

можно попробовать дизайнить структуру БД без null

Artur-Karapetov Автор вопроса
Dmitrii
можно попробовать дизайнить структуру БД без null

да я уже подумал об этом. типа default пустые строки, 0 и так далее

А чего не go-pg?

Artur-Karapetov Автор вопроса
Roman Timofeev
А чего не go-pg?

https://habr.com/ru/company/oleg-bunin/blog/461935/ решил попробовать

Artur Karapetov
то есть, решение на Go настолько классное, что зас...

Почему "еще один" ? У вас есть модели для бд - это один пласт

Artur-Karapetov Автор вопроса
Roman 🎄
Почему "еще один" ? У вас есть модели для бд - это...

мои модели они не для БД, а для данных. с методами и так далее. а тут получается что их использовать для слоя repository уже не получится, так как надо использовать типы данных sql.Null*

Artur Karapetov
мои модели они не для БД, а для данных. с методами...

Типа потом писать адаптер что-бы перекидывать из одной модели в другую, собсно в обратную сторону тоже)) Вот такое вот кунфу архитектурное...

Artur Karapetov
мои модели они не для БД, а для данных. с методами...

Ну да, модели в дб - это отдельная модель, это не сущность из бизнес-логики

Artur-Karapetov Автор вопроса
🎄 Doe
Типа потом писать адаптер что-бы перекидывать из о...

ну это не архитектура вообще, это гемморой которого хотелось избежать из-за лени, причем в чистой архитектуре его не избежать, о чем кстати я убедился на практике и показал в своих видео.

Artur-Karapetov Автор вопроса
Roman 🎄
Ну да, модели в дб - это отдельная модель, это не ...

а с монгой и в других языках удавалось объединить

Artur Karapetov
ну это не архитектура вообще, это гемморой которог...

не используй чистую архитектуру в го, вообще забудь про роберта мартина

Artur Karapetov
а с монгой и в других языках удавалось объединить

С монгой у вас скорее всего просто неправильно сделано, без разделения. Модель из базы не всегда маппится на модель из бизнес логики один в один.

Artur-Karapetov Автор вопроса
Roman 🎄
С монгой у вас скорее всего просто неправильно сде...

не всегда, но если удается, то почему бы и нет?

Artur-Karapetov Автор вопроса
Roman 🎄
С монгой у вас скорее всего просто неправильно сде...

можно посмотреть: https://github.com/theartofdevel/notes_system/tree/main/note_service/app

Artur Karapetov
не всегда, но если удается, то почему бы и нет?

Звучит как "не всегда получается палец засунуть в розетку, но если удается, то почему бы и нет"

Artur-Karapetov Автор вопроса
Roman 🎄
Звучит как "не всегда получается палец засунуть в ...

ну а зачем плодить дополнительный слой моделей? если можно не плодить

Artur Karapetov
ну а зачем плодить дополнительный слой моделей? ес...

А зачем тогда вообще плодить лишние слои и пакеты? Если можно все в одном пакете main сделать

Artur-Karapetov Автор вопроса

во

Artur Karapetov
вот еще

жирный плюс, автору поста

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта