Size: a a a

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

2019 December 13

YZ

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

YZ

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

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
this.rep
                         .createQueryBuilder()
                         .insert()
                         .values(items)
                         .onConflict(("name") DO NOTHING)
                         .execute()
источник

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
this.rep
                         .createQueryBuilder()
                         .insert()
                         .values(items)
                         .onConflict(("name") DO NOTHING)
                         .execute()
Спс
источник
2019 December 14

S

Sunlive in TypeORM - Русскоязычное сообщество
привет гайз, подскажите как лучше на квери билдере построить подобый запрос?
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
select count(*) as "devices", filial.filial_name, filial.filial_id
from device
left join filial
on device.filial_id = filial.filial_id
group by filial.filial_name, filial.filial_id
order by "devices" desc
limit 10
offset 0;
источник
2019 December 15

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
Вот как ты его здесь написал, так и в билдере только с алиасами
источник
2019 December 16

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
this.rep
                         .createQueryBuilder()
                         .insert()
                         .values(items)
                         .onConflict(("name") DO NOTHING)
                         .execute()
name это ж имя поля?
источник

IK

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

IK

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

YZ

Yaroslav Zhymkov in TypeORM - Русскоязычное сообщество
ILshat Khamitov
там на несколько может ругатся, по разному
просто получаю ошибку:
there is no unique or exclusion constraint matching the ON CONFLICT specification
когда указал поле.

если указал имя ключа, то пишет. что нет такой колонки
источник

YZ

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

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
В ентити нужно чтобы было прописано, не тока в бд, так вроде
источник

YZ

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

IK

ILshat Khamitov in TypeORM - Русскоязычное сообщество
@Entity('table')
@Unique(['field1', 'field2'])
export class TableEntity {
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
окей гугл, а можно в одном запросе сделать select UPDATE/insert, т.е если есть запись - апдейт, если нет - инсерт, через кверибилдер?
источник

S

Sunlive in TypeORM - Русскоязычное сообщество
типа, всегда инсертить и на onConfict апдейтить?
источник

IK

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

вот тут много примеров, подбери что тебе нужно
https://www.postgresql.org/docs/current/sql-insert.html
источник
2019 December 17

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
А кто нибудь считал AVG в typeorm?
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
public async getAvgSuccessPosOrders(
   flightIds?: string[],
): Promise<any> {
   const query: SelectQueryBuilder<PosOrderEntity> = await PosOrderEntity.createQueryBuilder('o')
       .select(`AVG(if(o.status <> 'canceled', base, null))`, 'value')
       .leftJoin('o.flight', 'f');
   if (flightIds) {
       query.where('f.id IN (:flightIds)', {flightIds});
   }
   return query.getRawOne();
}
источник