Size: a a a

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

2020 September 30

NK

Nikita Kamys in TypeORM - Русскоязычное сообщество
Что то типа: Category.find({ relations: ["questions"], where: { questions: IsNull() } });
источник

E

Egor in TypeORM - Русскоязычное сообщество
если не ошибаюсь, может сработать вариант через queryBuilder поиграть с джойном questionToCategory на Category, но может кто-то подскажет вариант попроще
источник

E

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

E

Egor in TypeORM - Русскоязычное сообщество
мб проще даже в 2 запроса пульнуть, чем таким заниматься)
источник
2020 October 06

VY

Victor Yar in TypeORM - Русскоязычное сообщество
Привет, подскажите:

Написал ентити.


@Entity()
export class Provider {

 @PrimaryGeneratedColumn()
 id: number;

 @OneToMany(type=> Address, address => address.provider)
 addresses: Address[];

 @OneToOne( type=> Basic, basic => basic.provider)
 basic: Basic;

}


@Entity()
export class Basic {
 @PrimaryGeneratedColumn()
 id: number;

 @OneToOne( type => Provider, provider => provider.basic)
 @JoinColumn()
 provider: Provider
}


згенерировал миграцию через команду: *migration:generate*

await queryRunner.query(`CREATE TABLE "health_care_provider"
                            (
                                "id"                 SERIAL            NOT NULL,
                                CONSTRAINT "PK_e20b10eaf2709cd01be7a477345" PRIMARY KEY ("id")
                            )`);
await queryRunner.query(`CREATE TABLE "basic"
                            (
                                "id"               SERIAL            NOT NULL,
                                "providerId"       integer,
                                CONSTRAINT "PK_2e1e3b4c3c4ef3c74b61baddf15" PRIMARY KEY ("id")
                            )`);


Код генерации выглядит нормально (возможно не заметил?)

когда работаю через PHPStorm (DB console) могу написать SELECT id FROM basic; всё ок, но когда вызываю SELECT providerID FROM basic пишет поле не найдено и только с SELECT "providerID" FROM basic; работает , в чём проблема?  база PostgreSQL
источник

VY

Victor Yar in TypeORM - Русскоязычное сообщество
В ентити несколько полей ( не стал Вас нагружать лишнеё информацией, хотя она возможно важная?), и все кроми providerId могу писать без кавычек
источник

E

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

VY

Victor Yar in TypeORM - Русскоязычное сообщество
@egorgumin хм, спасибо
источник
2020 October 07

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
>мб проще даже в 2 запроса пульнуть, чем таким заниматься)

меня прям расстраивает, один за одним идут люди на собеседования и – не умеют в джойны, не слышали ничего про картезианское умножение, на каждый чих пытаются лепить портянки подзапросов, считают пагинацию по курсору прихотью старшего и не желают ничего слышать о проблемах лимит/оффсет на больших датасетах, не умеют индексы, не знают подчас ничего про sql-инъекции и даже лечат меня про то что у них волшебная ORM и с ней инъекций не может быть в принципе…

и я вот думаю, что делать, то ли пытаться учить и поднимать уровень грамотности, то ли вообще их отсеивать (а кого тогда брать-то?)… и ещё тут же постоянно вылезающий спор о том что высшее образование в программировании – это вообще необязательная опция и что самоучки быстро могут начитаться книжек статей видосиков говнокурсов и сразу пойти работать, но с тем же sql я-то понимаю что единственная причина почему я разбираюсь в нём – это потому что нам два семестра вбивали его в мозг в универе…

короче, не обращайте внимания, опять старпёр жалуется на молодых неучей… 🙂
источник

VY

Victor Yar in TypeORM - Русскоязычное сообщество
@constb
1) про проблему лимит /оффсет вкурсе, (2 построение)
2)  про декартово множество тоже =/ правдо пока не доконца понимаю как с ним бороться (кроме дистинкт...)
3) индексы +-

про ВО (всё зависит от клиента, если он согласен платить за "продукт"  устраивает качество - почему нет?
источник

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
а клиент не может оценить качество продукта. продукт это не только про то что «работает что должно работать» (а именно на это и смотрят), но ещё и просто чтобы «не работало то что не должно работать» (а это 80-90%% затрат), или ещё клиенты забывают что им нужна админка 🙂 – таких большинство, а потом считают что оно само продразумевается что она должна быть и видимо волшебным образом сама должна была появиться… 🙂

вообще в этом плане интереснее работать в компаниях которые владеют продуктом – там от качества продукта зависит и существование компании и получаемые зарплаты и бонусы, и соответственно команду собирают из людей знающих и мотивированных… а аутсорсеры и контрактники чаще всего зарабатывают на «нанять подешевле продать подороже» и там уж как повезёт. иногда не везёт – и тогда заказчик ходит и ищет кого-то кто сможет ему «доработать», потому что считает что продукт у него уже есть, надо только допилить – на самом деле у него его нет, есть шлак и потраченные бюджеты, которых никто не вернёт – но принять реальность, это сложно и больно и не хочется… короче в студии неинтересно работать, проекты часто такие же мутные как заказчики, а платят хуже…

а джунов гонять ссаными тряпками приходится и там и там одинаково… 🙂
источник

SL

S. L. in TypeORM - Русскоязычное сообщество
всем привет, есть ли возможность в postgresql вывести первые n уникальных записей?
источник

AI

Artyom Ivanov in TypeORM - Русскоязычное сообщество
S. L.
всем привет, есть ли возможность в postgresql вывести первые n уникальных записей?
источник

SL

S. L. in TypeORM - Русскоязычное сообщество
лимит это для n первых, а мне нужно что бы они были уникальными
источник

SL

S. L. in TypeORM - Русскоязычное сообщество
похоже нужно к селекту добавить дистинкт...
источник

VY

Victor Yar in TypeORM - Русскоязычное сообщество
Константин Брызгалин
а клиент не может оценить качество продукта. продукт это не только про то что «работает что должно работать» (а именно на это и смотрят), но ещё и просто чтобы «не работало то что не должно работать» (а это 80-90%% затрат), или ещё клиенты забывают что им нужна админка 🙂 – таких большинство, а потом считают что оно само продразумевается что она должна быть и видимо волшебным образом сама должна была появиться… 🙂

вообще в этом плане интереснее работать в компаниях которые владеют продуктом – там от качества продукта зависит и существование компании и получаемые зарплаты и бонусы, и соответственно команду собирают из людей знающих и мотивированных… а аутсорсеры и контрактники чаще всего зарабатывают на «нанять подешевле продать подороже» и там уж как повезёт. иногда не везёт – и тогда заказчик ходит и ищет кого-то кто сможет ему «доработать», потому что считает что продукт у него уже есть, надо только допилить – на самом деле у него его нет, есть шлак и потраченные бюджеты, которых никто не вернёт – но принять реальность, это сложно и больно и не хочется… короче в студии неинтересно работать, проекты часто такие же мутные как заказчики, а платят хуже…

а джунов гонять ссаными тряпками приходится и там и там одинаково… 🙂
Как раз клиент и оценивает), готов он платить или нет...

удалил так как офф-топ
источник

VY

Victor Yar in TypeORM - Русскоязычное сообщество
знания нужны нам )
источник

E

Egor in TypeORM - Русскоязычное сообщество
Константин Брызгалин
>мб проще даже в 2 запроса пульнуть, чем таким заниматься)

меня прям расстраивает, один за одним идут люди на собеседования и – не умеют в джойны, не слышали ничего про картезианское умножение, на каждый чих пытаются лепить портянки подзапросов, считают пагинацию по курсору прихотью старшего и не желают ничего слышать о проблемах лимит/оффсет на больших датасетах, не умеют индексы, не знают подчас ничего про sql-инъекции и даже лечат меня про то что у них волшебная ORM и с ней инъекций не может быть в принципе…

и я вот думаю, что делать, то ли пытаться учить и поднимать уровень грамотности, то ли вообще их отсеивать (а кого тогда брать-то?)… и ещё тут же постоянно вылезающий спор о том что высшее образование в программировании – это вообще необязательная опция и что самоучки быстро могут начитаться книжек статей видосиков говнокурсов и сразу пойти работать, но с тем же sql я-то понимаю что единственная причина почему я разбираюсь в нём – это потому что нам два семестра вбивали его в мозг в универе…

короче, не обращайте внимания, опять старпёр жалуется на молодых неучей… 🙂
Вы сейчас написали очень большое полотно, а могли бы вместо этого помочь автору вопроса, если целью было не просто так воздух сотрясти. Вопрос не в том, знает ли кто-то о джойнах, а о том, как они поведут себя в конкретном инструменте в конкретных условиях. Потому что в тайморм почти ничего не работает, как только ты делаешь шаг вправо или влево от простого сценария
источник

SL

S. L. in TypeORM - Русскоязычное сообщество
у меня есть два sql запроса и я хотел бы переделать их под typeorm. Но я не могу понять что писать в into, если я уже указал репозиторий, с которым я работаю. Мне туда передать поле(address)?
источник

VY

Victor Yar in TypeORM - Русскоязычное сообщество
@vlad_i99

Variant 1 =>

import { getManager } from "typeorm"; 
const entityManager = getManager();

await manager.insert(Student, {
  Name: "Student3",
  Age: 14
});


Through Query Builder =>

await this.requestsChunkRepository
   .createQueryBuilder()
   .insert()
   .into(User)
   .values([
       { firstName: "Timber", lastName: "Saw" },
       { firstName: "Phantom", lastName: "Lancer" }
    ])
   .execute();

без ) инту пока не знаю, испытай
источник