Size: a a a

pgsql – PostgreSQL

2021 January 19

C

Centnot in pgsql – PostgreSQL
Dmitriy
А мне чистый ORM-подход не нравится, т.к. всякие findBy с lazy-лоадингами - ну его нафиг. Квери-билдер надёжней в этом смысле
Lazy loading на проде я давно не видел)
источник

D

Dmitriy in pgsql – PostgreSQL
Хватило случая, когда в Django предыдущий разраб не вызывал prefetch_related() - и в базу летели запросы в цикле (штук 200, или около того) для загрузки одной страницы.
источник

D

Dmitriy in pgsql – PostgreSQL
Типа выборка связей по id. Или select_related, я уже не помню
источник

am

a m in pgsql – PostgreSQL
Dmitriy
Хватило случая, когда в Django предыдущий разраб не вызывал prefetch_related() - и в базу летели запросы в цикле (штук 200, или около того) для загрузки одной страницы.
Типичные будни ORM’а. И шо? Чинится добавлением одного слова в код.
источник

D

Dmitriy in pgsql – PostgreSQL
a m
Типичные будни ORM’а. И шо? Чинится добавлением одного слова в код.
Не спорю. Но если предыдущий разраб его не добавил, то это говорит лишь о том, что в случае с ORM выстрелить себе в ногу - нефиг делать
источник

am

a m in pgsql – PostgreSQL
«n+1 query» называется, во.
источник

D

Dmitriy in pgsql – PostgreSQL
Да
источник

D

Dmitriy in pgsql – PostgreSQL
Но вообще согласен, что это всё фигня. Достаточно глянуть, что за запрос в БД летит, а потом доку почитать
источник

D

Dmitriy in pgsql – PostgreSQL
Victor Yegorov
в догонку напишу, что при проектировании 6NF специально создаётся каталог, в котором описано каким образом для 6NF-схемы генерировать запросы в 5NF (ибо приложению в 6NF не удобно). и генерация запросов по каталогу – это примерно то, что вы обсуждали. кому-то удобно в базе процедурами, кому-то из приложения / кому-то важна логика, а кто-то просто поля из словаря маппит. так, к слову…
Спасибо за информацию, не знал
источник

r

rvv880 in pgsql – PostgreSQL
Подскажите пожалуйста в чем ошибка
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy
А мне чистый ORM-подход не нравится, т.к. всякие findBy с lazy-лоадингами - ну его нафиг. Квери-билдер надёжней в этом смысле
до тех пор пока в нем не начинают появляться ".execQuery()" какие-нибудь, когда нужно срочно сделать твик, не совместимый с кодом библиотеки
источник

Ð

Ð in pgsql – PostgreSQL
а они начинают! в итоге несчастные разрабы вынуждены знать и скл, и как писать на билдере, и делают двойную работу
источник

D

Dmitriy in pgsql – PostgreSQL
rvv880
Подскажите пожалуйста в чем ошибка
Я не специалист в TypeORM, т.к. не jsник, но я бы начал с вызова метода printSql(), чтобы поглядеть, что за запрос там строится
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
до тех пор пока в нем не начинают появляться ".execQuery()" какие-нибудь, когда нужно срочно сделать твик, не совместимый с кодом библиотеки
Конечно, в некоторых местах он будет. Но по сравнению с общим числом запросов таких мест будет довольно мало. Квери-билдеры используют вовсе не для того, чтобы не изучать SQL, если что)))
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy
Конечно, в некоторых местах он будет. Но по сравнению с общим числом запросов таких мест будет довольно мало. Квери-билдеры используют вовсе не для того, чтобы не изучать SQL, если что)))
чем старее проект, тем таких костылей больше, и тем больше они запутаны, а когда билдер или орм уже не поддерживается давно, становится совсем грустно
источник

Ð

Ð in pgsql – PostgreSQL
иногда может захотеться даже перевернуть стол и убежать
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
чем старее проект, тем таких костылей больше, и тем больше они запутаны, а когда билдер или орм уже не поддерживается давно, становится совсем грустно
Это ни о чём не говорит. Любые библиотеки (не только квери-билдеры) устаревают, и их надо обновлять или заменять другими. Надо покрыть проект приёмочными тестами, и тогда такие процессы не вызывают боль и страдания.
источник

Ð

Ð in pgsql – PostgreSQL
это в стартапах такие штуки хорошо заходят, а в старом легаси - это мрачное болото
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy
Это ни о чём не говорит. Любые библиотеки (не только квери-билдеры) устаревают, и их надо обновлять или заменять другими. Надо покрыть проект приёмочными тестами, и тогда такие процессы не вызывают боль и страдания.
скл не устаревает
источник

D

Dmitriy in pgsql – PostgreSQL
Ð
это в стартапах такие штуки хорошо заходят, а в старом легаси - это мрачное болото
Вы так пишете, как будто я в стартапе. Нет же, как раз с лютым легаси не раз работал и работаю. Квери-билдеры и ORM существуют очень давно, и используются даже в старых проектах.
источник