🏁Александр
+1
канал флуд хреново работает. народу тупо лень
Daniel
как будто это что-то плохое
🏁Александр
напоминаю ссылочку - https://t.me/goflood
Daniel
анальное порабощение еще добавьте
invariance
мое любимое
Aleksandr
повисло неловкое молчание
Pawel
Какую ORM использовать лучше? gorp?
🏁Александр
C). не использовать
Pawel
не используй, я тебе разрешаю
Илья
каждая по своему плоха
Илья
gorm тут вроде много кто пользовал
Pawel
говорят она не очен. @twentydraft вроде другую рекомендовал
Pawel
Илья
ну, можно топить за reform
Pawel
спасибо. да, название из гловы вылетело
Pawel
учёные всего мира ломают голову как скрестить ORM с древовидными структурами данных. Я вот тоже озаботился этим вопросом, но ни чем не смог им помочь. кто нибудь пробовал ?
Daniel
написать свой орм
Илья
https://github.com/jmoiron/sqlx
Daniel
это не ORM
Илья
(я тоже против орм в Го)
Dmitriy / დიმიტრი
Dmitriy / დიმიტრი
Что плохого в ОРМ в го?
Илья
Илья
в ОРМ в Го обычно черная магия и хреновая поддержка чего-то сложенее "SELECT a,b,c from d;"
Daniel
иногда магия белая, как в reform
Daniel
но херовая поддержка - это всегда
Илья
это конечно достаточно редкий кейс
Alexander
Дуров ключи таки сдал, а вы боялись что телегу прикроют
freezlite
кто сказал что сдал?
Alexander
freezlite
кто сказал что НЕ сдал?
🎉
🎉
мне отказали
Мне даже без карточки дали, это второй год уже как бесплатно тусуюсь, а када я пытался говорить на ломанном английском, подозреваю что тётка на том конце провода ничего не поняла, собсно как и я её)))) Первый раз в жизни я покраснел, и стало почему-то стыдно)))))
Zver
Pawel
пример этого языка в студию пожалуйста
Илья
Ruby?
Илья
C# (.net весь в общем то)
Илья
Но все же, не ради холивара я это говорил, а лишь к тому, что в большинстве проектов можно гораздо легче жить на обертке над бд, чем с орм, а конкретно в го пока нет однозначно удобной библиотеки для этого
Pawel
руби - возможно. Динамическая типизация упрощает дёргалки бд. Но усложняет разработку в целом.
C# - ну нет же, там всё ужасно. У меня нагрузка на сервер сократилась на треть после того, как выкинул говнище на ентитифреймворке и перенёс всё важное в хранимки
а обёртки над бд, но не орм - это о чём речь?
Илья
Илья
Об этом
Sergei
Об этом
look at https://github.com/go-reform/reform
Илья
Бля(простите)
Илья
Пролистай чуток выше)
Je
Об этом
sqlx не орм, это лишь его часть и далеко на самая удачная, до сих пор открыты весьма критичные issue, годится в целом для простых select/insert
Sergei
Пролистай чуток выше)
нене.
не нужно пытаться в гошу принести подход динамической типизации. будет больно и будет болеть.
это против дизайна языка, логично, что всё плохо.
Je
есть еще вторая часть к орм - билдер, я юзаю squirrel вместе с sqlx, но по-прежнему это нельзя назвать ОРМ
Илья
Sergei
выезжать в обратную сторону - кодогенерировать по схеме бд (причем весьма изобретательно) - может быть крайне полезно.
Je
самое эпичное в sqlx это left join и вот это поведение - https://github.com/jmoiron/sqlx/issues/162
Илья
Илья
Je
ормы дают пользу, тот же sqlalchemy в питоне мощнейшая штука
Sergei
а я с тобой не спорю. ормы в гошке в стиле питона/руби приносят попаболь.
IDE не помогает, тайп-чекинга в компайл-тайме нет, подземных стуков будет вагон
Илья
Fastumkruk
Илья
Je
в го нет, это очевидный факт)
Илья
Илья
Реформ ближе к полезному да
Илья
Для проектов меньше букинг.ком можно и просто намепить моделей на базу
Sergei
Илья
Je
Жестоко, а поддерживать потом это как? Есть позитивный опыт или только теоретически?
Sergei
Sergei
используйте модерновую систему сборки, чтобы не коммитить кодогенерированное
Sergei
если его нет в репозитории и генерируется оно автоматически - то и поддерживать не надо.
Je
А что именно вы генерируете, модельки по схеме из базы?
Sergei
Je
Тогда нужно поддерживать генератор и вопросы по миграциям, звучит сложнее, чем структурки с тегами объявить
Je
Прикольно, а какой-нибудь открытый проект не подскажете посмотреть, как это работает? Или у вас своя кухня и наработки?
Sergei
открытый не подскажу, увы. :(
мы используем https://github.com/perseas/Pyrseas и bazel