Size: a a a

TypeORM - Русскоязычное сообщество

2019 November 19

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
может кто делал/находил пакет?
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
Это по-моему называется soft delete. Мне кажется там несложно и самому сделать на уровне репозиториев или добавив на декоратор Entity дефолтное условие выборки
источник

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
не хотелось бы писать свою обертку, много логики
источник

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
вопрос не про это
источник
2019 November 23

СБ

Сергей Булах in TypeORM - Русскоязычное сообщество
Всем привет! Столкнулся с таким понятием как n+1, можно же делать join чтобы избежать лишних запросов.  Не совсем понимаю в чем заключается проблема?
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
вообще, джойны дублируют строки в ответе, когда со стороны зависимой таблицы отношение *-ко-многим, что ломает работу limit/offset. но это решаемо вторым запросом с where … in.

проблема тут в том что в контексте первого запроса может не быть информации о том, какие связанные записи понадобятся в последствии. код, обрабатывающий полученные записи по одной, обращается к зависимостям, не зная что кроме текущей записи есть ещё N точно таких же и по ним нужно выбирать точно те же зависимости… вот тут и возникает N+1
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
особенно это становится заметно при работе с graphql когда каждая функция-резолвер видит очень узко только одну конкретную запись или даже одно поле одной записи… неудивительно что именно facebook предложил node-way решение задачи в виде пакета facebook/dataloader. каждый запрос выносится в nextTick и если цикл по записям отрабатывает синхронно, например с помощью forEach или map, то в nextTick скапливаются все N связанных запросов, которые dataloader объединяет в один… это не чисто graphql-решение, dataloader вполне применим и при работе с данными в rest api точно таким же образом…
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
либо надо в момент выполнения базового запроса смотреть в контекст и решать заранее какие зависимости подтягивать и активно пользоваться «жадной загрузкой»… typeorm реализует это либо на уровне entity – но параметр eager применяется ко всем выборкам без исключения… либо можно на уровне query builder заджойнить связи – под капотом там не обязательно будет именно join в запросе. typeorm сама знает когда можно джойнить а когда делать дополнительные запросы…
источник
2019 November 24

KA

Kulagin Alex in TypeORM - Русскоязычное сообщество
Константин Брызгалин
особенно это становится заметно при работе с graphql когда каждая функция-резолвер видит очень узко только одну конкретную запись или даже одно поле одной записи… неудивительно что именно facebook предложил node-way решение задачи в виде пакета facebook/dataloader. каждый запрос выносится в nextTick и если цикл по записям отрабатывает синхронно, например с помощью forEach или map, то в nextTick скапливаются все N связанных запросов, которые dataloader объединяет в один… это не чисто graphql-решение, dataloader вполне применим и при работе с данными в rest api точно таким же образом…
В разрезе gql можно каждый промис запроса складывать в котенкс. Но это работает только с простыми запросами
источник

IL

Ihor Levchenko in TypeORM - Русскоязычное сообщество
Так много говорят про графql, а я его вообще ни разу не использовал
источник
2019 November 25

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
Всем привет! Подскажите пожалуйста. Есть реляция между моделями, допустим OneToOne и у меня ОРМ создает(при sync: true) два ключа начинающихся REL_….  и IDX_….. и соответственно уникальные индексы с теми же именами. Но зачем? Зачем ОРМ дублиурет названия REL & IDX ???
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
я запарился вычищать это)
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
попробуй JoinColumn убрать
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
вроде когда убираешь не создает
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
я запарился вычищать это)
Так JoinCOlumn обязателен для OneTo One?))
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
разве нет
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
нет
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
я запарился вычищать это)
Мне походу придется тоже самое длать))
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
перейди на миграции
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
и сам создавай базу, выключи автосинк
источник