[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字段编码,大家可以根据自己的需求调整相应的代码!

相关文章
|
JSON 关系型数据库 MySQL
NestJS:基础掌握 从了解到使用(下)
NestJS:基础掌握 从了解到使用(下)
260 0
|
开发框架 JavaScript 前端开发
NestJS:基础掌握 从了解到使用(上)
NestJS:基础掌握 从了解到使用(上)
174 0
|
6月前
|
数据库
小满nestjs(第二十八章 nestjs 事务)
小满nestjs(第二十八章 nestjs 事务)
212 0
小满nestjs(第二十八章 nestjs 事务)
|
前端开发
小满nestjs(第十章 nestjs 提供者)
如果服务 之间有相互的依赖 或者逻辑处理 可以使用 useFactory
182 0
小满nestjs(第十章 nestjs 提供者)
|
开发框架 JavaScript 前端开发
nestjs的学习(一)
nestjs的学习(一)
87 0
|
中间件
小满nestjs(第十二章 nestjs 中间件)
中间件是在路由处理程序 之前 调用的函数。 中间件函数可以访问请求和响应对象
226 1
小满nestjs(第十二章 nestjs 中间件)
|
存储 关系型数据库 数据库连接
[Nestjs] 使用Typeorm配置数据库配置时区的方法
如果在使用 TypeORM 和 NestJS 进行数据库操作时,遇到数据库时间不准确的问题,可以考虑以下几个解决办法: 1. 使用数据库服务器的时间:确保数据库服务器的时间是准确的,并且与应用程序运行的服务器时间同步。这样可以避免由于时间差异导致的数据不准确问题。 2. 设置数据库连接的时区:通过在 TypeORM 配置中设置 timezone 属性,将数据库连接的时区设置为与应用程序所在地区相匹配。例如,对于 PostgreSQL 数据库:
804 0
|
关系型数据库 MySQL 数据库
NestJS:TypeORM 连接mysql数据库,增删改查
NestJS:TypeORM 连接mysql数据库,增删改查
436 0
|
前端开发
小满nestjs(第二十七章 nestjs typeOrm关系)
在我们开始的过程中,肯定不会把数据存在一个表里面,我们会进行分表,把数据分开存,然后通过关联关系,联合查询。
209 0
小满nestjs(第二十七章 nestjs typeOrm关系)
|
存储 JSON 关系型数据库
小满nestjs(第二十五章 nestjs 实体)
nullable: boolean - 在数据库中使列NULL或NOT NULL。 默认情况下,列是nullable:false。
280 0
小满nestjs(第二十五章 nestjs 实体)