Size: a a a

2020 June 22

RF

Roman Fedyashov in Go-go!
Юрий Вельмесов
Спасибо всем за помощь! И спасибо, что сразу не послали в далекие края где обитают все пыховцы 😆

Проблема очевидна и очевидно как её решать! Просто нужно уйти от старых привычек которые применял в другом языке и использовать подходы которые применяются в этом языке!
Всем спасибо!
Вообще в голанге хорошие подходы, не переживайте))))
источник

BT

Bohdan Turchyk in Go-go!
Юрий Вельмесов
Спасибо всем за помощь! И спасибо, что сразу не послали в далекие края где обитают все пыховцы 😆

Проблема очевидна и очевидно как её решать! Просто нужно уйти от старых привычек которые применял в другом языке и использовать подходы которые применяются в этом языке!
Всем спасибо!
к слову, в симфони уже есть php dsl для конфига)
источник

NK

Nikolay Kiselev in Go-go!
Здравствуйте. Я не с пхп, но с питона. Подскажите, кому не трудно, правильно ли я работаю с базой. https://play.golang.org/p/JH5pUfIBi4s
Работаю без ORM пока, ради интереса. Что-то чутье подсказывает что что-то не так. Конект открывается на каждый запрос. Как этого избегать?
источник

AS

Alexander Shavelev in Go-go!
Nikolay Kiselev
Здравствуйте. Я не с пхп, но с питона. Подскажите, кому не трудно, правильно ли я работаю с базой. https://play.golang.org/p/JH5pUfIBi4s
Работаю без ORM пока, ради интереса. Что-то чутье подсказывает что что-то не так. Конект открывается на каждый запрос. Как этого избегать?
неправильно
постоянно открываете коннект к бд
источник

NK

Nikolay Kiselev in Go-go!
Я попытался открыть базу в init, но когда я обратился к ней из функций, то возникла ошибка пустого указателя.
источник

S

Sergey in Go-go!
Тут недавно это обсуждали уже, поищи выше. В двух словах - один раз создаёшь подключение в main например и потом пробрасываешь в хэндлеры.
источник

ЮВ

Юрий Вельмесов... in Go-go!
Sergey
Тут недавно это обсуждали уже, поищи выше. В двух словах - один раз создаёшь подключение в main например и потом пробрасываешь в хэндлеры.
Да, все верно. Я такое спрашивал и мне посоветовали  сделать один раз инициализацию подключени.
источник

ЮВ

Юрий Вельмесов... in Go-go!
В общем делай одн раз коннект например в майн и потом пробрасывай в хэндлеры *sql.DB
источник

NK

Nikolay Kiselev in Go-go!
Понял, всем большое спасибо!
источник

ЮВ

Юрий Вельмесов... in Go-go!
у меня ща так работает
источник

ЮВ

Юрий Вельмесов... in Go-go!
ну разве что я подключалку вынес в отдельный пакет только
источник

RF

Roman Fedyashov in Go-go!
Ну а кроме прочего... Файл с SQL запросами должен быть отдельным
источник

ВС

Владимир Столяров... in Go-go!
Юрий Вельмесов
В общем делай одн раз коннект например в майн и потом пробрасывай в хэндлеры *sql.DB
дальше порекомендую спрятой слой работы с базой за отдельный интерфейс, тестировать будет гораздо проще
источник

ЮВ

Юрий Вельмесов... in Go-go!
а и еще я вынес параметры подкючения в yaml конфиг, но можешь и в .env
источник

p

pragus in Go-go!
Nikolay Kiselev
Здравствуйте. Я не с пхп, но с питона. Подскажите, кому не трудно, правильно ли я работаю с базой. https://play.golang.org/p/JH5pUfIBi4s
Работаю без ORM пока, ради интереса. Что-то чутье подсказывает что что-то не так. Конект открывается на каждый запрос. Как этого избегать?
А зачем panic?
источник

NK

Nikolay Kiselev in Go-go!
pragus
А зачем panic?
Так просто gin вернет 500. А если вы про init, то если база не работает, то сервер даже не стартанет и я сразу увижу беду
источник

NK

Nikolay Kiselev in Go-go!
Владимир Столяров
дальше порекомендую спрятой слой работы с базой за отдельный интерфейс, тестировать будет гораздо проще
Согласен, так и поступлю
источник

Н

Никита in Go-go!
Nikolay Kiselev
Так просто gin вернет 500. А если вы про init, то если база не работает, то сервер даже не стартанет и я сразу увижу беду
Так а если БД даст единичный сбой после запуска? Например, сеть отвалится
источник

Н

Никита in Go-go!
Если БД выдала ошибку при первичном коннекте к ней, можно залогировать и закончить работу с os.Exit()
источник

AM

Askold Monarkhov in Go-go!
кто пишет на GoLand, не подскажете, у вас Go lint подсвечивает проблемы прямо в коде или в терминале?
источник