fix order number

This commit is contained in:
2026-05-18 16:51:55 +03:30
parent 2b064065e0
commit 34c50978e4
3 changed files with 21 additions and 4 deletions
@@ -0,0 +1,16 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20260518133000 extends Migration {
override async up(): Promise<void> {
this.addSql(`create sequence if not exists "orders_order_number_seq";`);
this.addSql(`select setval('orders_order_number_seq', coalesce((select max("order_number") from "orders"), 1), (select count(*) > 0 from "orders"));`);
this.addSql(`alter table "orders" alter column "order_number" set default nextval('orders_order_number_seq');`);
}
override async down(): Promise<void> {
this.addSql(`alter table "orders" alter column "order_number" drop default;`);
this.addSql(`drop sequence if exists "orders_order_number_seq";`);
}
}
+3 -2
View File
@@ -24,7 +24,7 @@ import { OrderPrint } from './print.entity';
@Index({ properties: ['designer'] })
@Index({ properties: ['status'] })
export class Order extends BaseEntity {
[OptionalProps]?: 'createdAt' | 'deletedAt'
[OptionalProps]?: 'createdAt' | 'deletedAt' | 'orderNumber'
@ManyToOne(() => InvoiceItem, { nullable: true })
invoiceItem?: InvoiceItem
@@ -56,7 +56,8 @@ export class Order extends BaseEntity {
@Property({
type: 'int',
unique: true
unique: true,
autoincrement: true,
})
orderNumber: number & Opt;
@@ -74,7 +74,7 @@ export class OrderRepository extends EntityRepository<Order> {
}
}
// Search by order number or user information
if (search) {
const searchPattern = `%${search}%`;
@@ -98,7 +98,7 @@ export class OrderRepository extends EntityRepository<Order> {
limit,
offset,
orderBy: { [orderBy]: order.toLowerCase() as 'asc' | 'desc' },
populate: ['user','product'],
populate: ['user', 'product', 'designer'],
});
// Collect all (orderId, productId) pairs for efficient review lookup