[Nestjs] 使用Typeorm 在实体中根据时间生成随机编码

简介: 在日常开发中,我们会遇到很多需要自动生成编码的地方,比如订单号,单据号等。

在日常开发中,我们会遇到很多需要自动生成编码的地方,比如订单号,单据号等。


话不多说直接上代码

import { BeforeInsert, Column, Entity } from 'typeorm';
@Entity()
export class YourEntity {
  // 其他字段...
  @Column({ unique: true }) //字段被设置为 unique: true,确保每个编码都是唯一的
  code: string;
  @BeforeInsert() //实体的装饰器方法,用于在保存实体之前生成并设置代码编码。
  generateCode() {
    const currentDate = new Date();
    const datePart = currentDate.toISOString().slice(0, 10).replace(/-/g, '');
    const randomPart = Math.random().toString(36).slice(2, 8).toUpperCase();
    this.code = `${datePart}-${randomPart}`;
  }
}

这样我们保存数据的时候,实体会自动生成code字段编码,大家可以根据自己的需求调整相应的代码!

相关文章
|
开发框架 JavaScript 前端开发
NestJS:基础掌握 从了解到使用(上)
NestJS:基础掌握 从了解到使用(上)
179 0
|
JSON 关系型数据库 MySQL
NestJS:基础掌握 从了解到使用(下)
NestJS:基础掌握 从了解到使用(下)
264 0
|
6月前
|
数据库
小满nestjs(第二十八章 nestjs 事务)
小满nestjs(第二十八章 nestjs 事务)
217 0
小满nestjs(第二十八章 nestjs 事务)
|
6月前
|
前端开发 JavaScript 关系型数据库
typeorm连表查没有关联关系的实体
typeorm连表查没有关联关系的实体
|
前端开发
小满nestjs(第十章 nestjs 提供者)
如果服务 之间有相互的依赖 或者逻辑处理 可以使用 useFactory
182 0
小满nestjs(第十章 nestjs 提供者)
|
存储 关系型数据库 数据库连接
[Nestjs] 使用Typeorm配置数据库配置时区的方法
如果在使用 TypeORM 和 NestJS 进行数据库操作时,遇到数据库时间不准确的问题,可以考虑以下几个解决办法: 1. 使用数据库服务器的时间:确保数据库服务器的时间是准确的,并且与应用程序运行的服务器时间同步。这样可以避免由于时间差异导致的数据不准确问题。 2. 设置数据库连接的时区:通过在 TypeORM 配置中设置 timezone 属性,将数据库连接的时区设置为与应用程序所在地区相匹配。例如,对于 PostgreSQL 数据库:
816 0
|
JavaScript 前端开发
[Nestjs] 使用ncc加快启动速度
通过使用 ncc 可以将 NestJS 应用程序打包成一个单独的可执行文件,这可以加快应用程序的启动速度。下面是使用 ncc 加快 NestJS 应用程序启动速度的步骤:
302 0
|
关系型数据库 MySQL 数据库
NestJS:TypeORM 连接mysql数据库,增删改查
NestJS:TypeORM 连接mysql数据库,增删改查
455 0
|
存储 JSON 关系型数据库
小满nestjs(第二十五章 nestjs 实体)
nullable: boolean - 在数据库中使列NULL或NOT NULL。 默认情况下,列是nullable:false。
289 0
小满nestjs(第二十五章 nestjs 实体)
|
前端开发
小满nestjs(第十九章 nestjs 管道验证DTO)
小满nestjs(第十九章 nestjs 管道验证DTO)
164 0
小满nestjs(第十九章 nestjs 管道验证DTO)