Size: a a a

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

2020 April 10

🏡K

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

🏡K

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

SL

Sergey Lapin in TypeORM - Русскоязычное сообщество
у тебя таблицы только, я следующей миграцией хочу вставить и вот эта ошибка
источник

🏡K

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

🏡K

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

SL

Sergey Lapin in TypeORM - Русскоязычное сообщество
А да вижу
источник

SL

Sergey Lapin in TypeORM - Русскоязычное сообщество
попробую через репозиторий
источник

SL

Sergey Lapin in TypeORM - Русскоязычное сообщество
пофиксил через migration:run -t=false
источник

SL

Sergey Lapin in TypeORM - Русскоязычное сообщество
источник
2020 April 23

EZ

Egor Zholnin in TypeORM - Русскоязычное сообщество
Всем привет
Как можно мокать entityManager, который находится внутри connection.transaction()?
источник
2020 April 29

E

Egor in TypeORM - Русскоязычное сообщество
Есть пользователи и группы с отношением many-to-many. Нужно выбрать всех пользователей, которые подходят хотя бы к одной группе из списка групп, и при этом загрузить ВСЕ группы пользователей.

let qb = this.repository.createQueryBuilder('user');

qb = qb.leftJoinAndSelect('user.groups', 'userGroups');

const groupIds = [1, 5];
qb.where('userGroups.id IN (:...groupIds)', { groupIds });

qb.getMany();


вот такой подход загрузит только группы из списка, а не все группы подходящих юзеров.

на гитхабе есть якобы решение https://github.com/typeorm/typeorm/issues/3369

const qb = this.repository
 .createQueryBuilder('user')
 .innerJoin('user.groups', 'userGroup', 'userGroup.id IN (:...groupIds)', { groupIds });


но оно вообще не грузит группы. а если поменять innerJoin на innerJoinAndSelect, то работает так же, как и первый вариант - грузит только группы из списка, а не все. можно это как-то реализовать без подзапросов, или может я неправильно понял второе решение?
источник

🏡K

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

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
и не понятно вот это
вот такой подход загрузит только группы из списка, а не все группы подходящих юзеров.
источник
2020 April 30

E

Egor in TypeORM - Русскоязычное сообщество
🏡 ILshat Khamitov
и не понятно вот это
вот такой подход загрузит только группы из списка, а не все группы подходящих юзеров.
Смотри: есть юзеры
Вася: админ, модер, юзер
Петя: юзер, модер
Коля: юзер

Первый запрос с группами "модер и админ" достанет Васю и Петю, только вот группы им проставит вот такие:
Вася: админ, модер
Петя: модер

То есть группы "юзер" в запросе не было, её и не затянет, хотя она у Васи с Петей есть
источник

E

Egor in TypeORM - Русскоязычное сообщество
В итоге сработал вот такой вариант

const qb = this.repository
 .createQueryBuilder('user')
 .innerJoin('user.groups', 'userGroup', 'userGroup.id IN (:...groupIds)', { groupIds });
.leftJoinAndSelect('user.groups', 'userGroup')

Двойной джоин на одно свойство - бред какой-то, но работает
источник

JL

J L in TypeORM - Русскоязычное сообщество
Добрый день, у меня есть:
const products = this._productRepo
     .createQueryBuilder('product')
     .leftJoinAndSelect('product.variants', 'variants')
     .leftJoinAndSelect('product.attachments', 'attachments')
     .where('variants.id is not null')
     .andWhere('attachments.id is not null');

   if (category.specValues && category.specValues.length) {
     products
       .leftJoinAndSelect('product.specs', 'specs')
       .leftJoinAndSelect('specs.specValue', 'specValue');

     products.andWhere('specValue.id in (:...specValueId)', {
       specValueId: joinSpecs,
     });
   }

мне нужно еще отсеить specValue.id но из того что уже отфильтровонно, заранее спасибо и прошу прошения если не внятно обяснил :)
источник
2020 May 05

НК

Никита Калинин... in TypeORM - Русскоязычное сообщество
Всем привет, кто-нибудь юзает связку docker-compose ( container1(node+typeOrm) container2(DB) ) ? подскажите как настраивали networks  в docker-compose
источник
2020 May 07

P

Pavel in TypeORM - Русскоязычное сообщество
имя севиса прокидывай
источник
2020 May 12

HW

Helton Wylammi in TypeORM - Русскоязычное сообщество
guys, how can I optimize a query that brings many relationships. it is a base of some hundred thousand lines already with relationships. I'm doing a search normally. like this:

async findAll() {
return await  this.clientelRepository.find({ relations: ['vendas', 'vendas.produtos', 'vendas.produtos.produto'] });
}

It's taking about one to three minutes to bring all the lines
источник
2020 May 13

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
@Heltonphg you are probably missing indexes on relation fields, so it’s database that’s slow (it has to completely re-read every table on every query), not typeorm. there’s a site dedicated to indexes only and why they matter, check this out – https://use-the-index-luke.com
источник