Size: a a a

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

2020 January 14

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
э... зачем делать select после каждого inserta

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

AU

Anatoly Ukropov in TypeORM - Русскоязычное сообщество
ну флаг бы сделали какой нить типа этого транзакш false. Когда ты уверен что данные новые, если совпадение PK будет всё равно есть же onConstrait
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
я сейчас призму как орм использую, тут ваще тонны лишних запросов и как то для себя решил - пофигу, главное просто кодить бэк и фронт, а то что тормозить будет - то на sql перепишу)
источник

AU

Anatoly Ukropov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
я сейчас призму как орм использую, тут ваще тонны лишних запросов и как то для себя решил - пофигу, главное просто кодить бэк и фронт, а то что тормозить будет - то на sql перепишу)
Ну это да. Не понимаю просто почему не хотят это как то решать
источник

IK

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

AU

Anatoly Ukropov in TypeORM - Русскоязычное сообщество
Ну мастер ветка 12 дней назад updated  )
источник

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
может как то с этим связанно, тут вот чет пишут https://github.com/typeorm/typeorm/issues/3251
источник

AU

Anatoly Ukropov in TypeORM - Русскоязычное сообщество
(breaking) remove update and insert methods from repository because they confuse users
Ну как то не убрали это до сих пор )
источник

VS

Vladyslav Siroshtan in TypeORM - Русскоязычное сообщество
Anatoly Ukropov
ему как раз надо новые данные сохранить, а не обновить то что уже есть. Кстати самое интересное что typeORM делая save при наличии в сущности существующего в таблице id, обновляет мгновенно без предварительного выполнения select
Лично мне нужно обновить, я предварительно забрал сущность со всеми полями, поменял поле и отправил на обновление метолом save. Но тайпорм всё равно делает ещё один запрос на получение данных.
источник

AU

Anatoly Ukropov in TypeORM - Русскоязычное сообщество
Vladyslav Siroshtan
Лично мне нужно обновить, я предварительно забрал сущность со всеми полями, поменял поле и отправил на обновление метолом save. Но тайпорм всё равно делает ещё один запрос на получение данных.
хм, у меня вроде не было такого, а после каждой строки или только первый раз  ?
источник

VS

Vladyslav Siroshtan in TypeORM - Русскоязычное сообщество
Anatoly Ukropov
хм, у меня вроде не было такого, а после каждой строки или только первый раз  ?
не проверял с массивом сущностей, в данный момент заметил именно на обновлении одной сущности.
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
это решается через insert + onConflict
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
в квери билдере
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
и не будет у тебя 2х запросов
источник

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
Sunlive
это решается через insert + onConflict
Он кофликт основан на ключах, это другое
источник
2020 January 27

n

neurosys in TypeORM - Русскоязычное сообщество
Is it safe to use getRepository() inside an entity beforeUpdate hook if the caller is executing within a transaction?
источник

AK

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

n

neurosys in TypeORM - Русскоязычное сообщество
I see that Entity Listeners simply do not support transactions, as there is no way to pass down the transactionManager instance to them.
источник
2020 January 28

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
neurosys
Is it safe to use getRepository() inside an entity beforeUpdate hook if the caller is executing within a transaction?
I think it’s wrong to do queries/transactions inside event listener. First there’s a chance to trigger other listeners and eventually cause endless loops. Second is if you have a group of operations that needs to be executed as a single transaction, they should coexist in calling code. Maybe place that code in your entity repository. It’s okay if one repository uses another…

Listeners are primarily intended for validations and pre-/post-processing data. Maybe queuing some side effects when entity changes, like refreshing a cache…
источник

n

neurosys in TypeORM - Русскоязычное сообщество
Константин Брызгалин
I think it’s wrong to do queries/transactions inside event listener. First there’s a chance to trigger other listeners and eventually cause endless loops. Second is if you have a group of operations that needs to be executed as a single transaction, they should coexist in calling code. Maybe place that code in your entity repository. It’s okay if one repository uses another…

Listeners are primarily intended for validations and pre-/post-processing data. Maybe queuing some side effects when entity changes, like refreshing a cache…
> I think it’s wrong to do queries/transactions inside event listener. First there’s a chance to trigger other listeners and eventually cause endless loops.

Even if it's a simple validation? That queries the database, that is
источник