在日常开发中,我们会遇到很多需要自动生成编码的地方,比如订单号,单据号等。
话不多说直接上代码
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字段编码,大家可以根据自己的需求调整相应的代码!