РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsPmEnEC 124 of 168 menu
◀ ▶

Класс сущности в Nest

Пусть таблица в базе уже есть, а в проекте нет типа, который отражает её строку. Код не знает, какие колонки ждать от запроса и как называть поля в ответе.

Сущность - это класс с декоратором Entity. Он говорит TypeORM, что экземпляры соответствуют одной таблице. Каждое свойство с декоратором Column становится колонкой. Имя класса обычно совпадает с темой данных, а имя таблицы можно задать отдельно, если нужно.

Покажем на примере постов:

import { Column, Entity } from 'typeorm'; @Entity() export class Post { @Column() title: string; }

Сущность подключают в модуле темы через forFeature:

import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Post } from '../post.entity.js'; @Module({ imports: [TypeOrmModule.forFeature([Post])], }) export class PostsModule {}

Корневой модуль открывает канал к базе и подтягивает модуль темы:

import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostsModule } from './posts/posts.module.js'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'postgres', host: 'localhost', port: 5432, username: 'postgres', password: 'postgres', database: 'site', autoLoadEntities: true, synchronize: true, }), PostsModule, ], }) export class AppModule {}

Опишите сущность Worker как таблицу с одной текстовой колонкой, создайте WorkersModule и подключите базу с автоматическим созданием таблиц при старте.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить