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

Метки времени в Nest

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

Для этого служат декораторы CreateDateColumn и UpdateDateColumn. При первой вставке база заполняет момент создания, при каждом изменении строки - момент обновления. Поля имеют тип Date в TypeScript, а значения задаёт TypeORM, а не ручной код сервиса.

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

import { CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm'; @Entity() export class Post { @PrimaryGeneratedColumn() id: number; @CreateDateColumn() createdAt: Date; @UpdateDateColumn() updatedAt: Date; }

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

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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить