typeorm: объект не может быть вызван без нового - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь настроить Typeorm на стороннем проекте со следующим js и Typescript. Пока мне удалось создать объект и выполнить миграцию в моей базе данных. Но когда я пытаюсь создать экземпляр построителя запросов с моей сущностью, выдается эта ошибка:

TypeError: Class constructor Build cannot be invoked without 'new'
at SelectQueryBuilder.QueryBuilder.createFromAlias (/Users/sanghin/workspace/siosa/src/query-builder/QueryBuilder.ts:552:67)
at SelectQueryBuilder.from (/Users/sanghin/workspace/siosa/src/query-builder/SelectQueryBuilder.ts:199:32)
at Search (webpack-internal:///./pages/api/search.ts:10:121)
at apiResolver (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/api-utils.ts:72:11)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at DevServer.handleApiRequest (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/next-server.ts:726:5)
at Object.fn (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/next-server.ts:605:27)
at Router.execute (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/router.ts:222:24)
at DevServer.run (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/next-server.ts:793:23)
at DevServer.handleRequest (/Users/sanghin/workspace/siosa/node_modules/next/next-server/server/next-server.ts:280:14)

Моя сущность

import {
  Entity,
  PrimaryGeneratedColumn,
  Column,
  CreateDateColumn,
  UpdateDateColumn,
  DeleteDateColumn,
  VersionColumn,
} from "typeorm";

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

  @CreateDateColumn()
  createdAt: number;

  @UpdateDateColumn()
  updatedAt: number;

  @DeleteDateColumn()
  deletedAt: number;

  @VersionColumn()
  version: number;

  @Column({ type: "jsonb" })
  build: Build;
}

Построитель запросов

import { getConnection } from "typeorm";
import Build from "../../server/entity/Build";
     
const qb = await getConnection()
  .createQueryBuilder()
  .select("build")
  .from(Build, "build");

Вы можете найти проект здесь

...