order number

This commit is contained in:
2026-04-05 08:51:47 +03:30
parent b5d555e9ab
commit f7c57638ff
3 changed files with 42 additions and 11 deletions
+13 -3
View File
@@ -2999,9 +2999,9 @@
},
"order_number": {
"name": "order_number",
"type": "serial",
"unsigned": true,
"autoincrement": true,
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "integer"
@@ -3065,6 +3065,16 @@
"primary": false,
"unique": true
},
{
"columnNames": [
"order_number"
],
"composite": false,
"keyName": "orders_order_number_unique",
"constraint": true,
"primary": false,
"unique": true
},
{
"keyName": "orders_user_id_index",
"columnNames": [
@@ -0,0 +1,20 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20260405052112 extends Migration {
override async up(): Promise<void> {
this.addSql(`alter table "orders" alter column "order_number" type int using ("order_number"::int);`);
this.addSql(`alter table "orders" alter column "order_number" drop default;`);
this.addSql(`alter table "orders" add constraint "orders_order_number_unique" unique ("order_number");`);
}
override async down(): Promise<void> {
this.addSql(`alter table "orders" drop constraint "orders_order_number_unique";`);
this.addSql(`alter table "orders" alter column "order_number" type int using ("order_number"::int);`);
this.addSql(`create sequence if not exists "orders_order_number_seq";`);
this.addSql(`select setval('orders_order_number_seq', (select max("order_number") from "orders"));`);
this.addSql(`alter table "orders" alter column "order_number" set default nextval('orders_order_number_seq');`);
}
}
+6 -5
View File
@@ -6,7 +6,8 @@ import {
Enum,
PrimaryKey,
OptionalProps,
OneToOne
OneToOne,
Opt
} from '@mikro-orm/core';
import { User } from '../../user/entities/user.entity';
import { ulid } from 'ulid';
@@ -21,9 +22,9 @@ import { OrderPrint } from './print.entity';
@Entity({ tableName: 'orders' })
@Index({ properties: ['user'] })
export class Order extends BaseEntity {
[OptionalProps]?: 'createdAt' | 'deletedAt' | 'orderNumber'
[OptionalProps]?: 'createdAt' | 'deletedAt'
@ManyToOne(() => InvoiceItem,{nullable:true})
@ManyToOne(() => InvoiceItem, { nullable: true })
invoiceItem?: InvoiceItem
@ManyToOne(() => Product, { nullable: true })
@@ -53,9 +54,9 @@ export class Order extends BaseEntity {
@Property({
type: 'int',
autoincrement: true
unique: true
})
orderNumber: number;
orderNumber: number & Opt;
@Enum(() => OrderStatusEnum)