fix order number
This commit is contained in:
@@ -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";`);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -24,7 +24,7 @@ import { OrderPrint } from './print.entity';
|
|||||||
@Index({ properties: ['designer'] })
|
@Index({ properties: ['designer'] })
|
||||||
@Index({ properties: ['status'] })
|
@Index({ properties: ['status'] })
|
||||||
export class Order extends BaseEntity {
|
export class Order extends BaseEntity {
|
||||||
[OptionalProps]?: 'createdAt' | 'deletedAt'
|
[OptionalProps]?: 'createdAt' | 'deletedAt' | 'orderNumber'
|
||||||
|
|
||||||
@ManyToOne(() => InvoiceItem, { nullable: true })
|
@ManyToOne(() => InvoiceItem, { nullable: true })
|
||||||
invoiceItem?: InvoiceItem
|
invoiceItem?: InvoiceItem
|
||||||
@@ -56,7 +56,8 @@ export class Order extends BaseEntity {
|
|||||||
|
|
||||||
@Property({
|
@Property({
|
||||||
type: 'int',
|
type: 'int',
|
||||||
unique: true
|
unique: true,
|
||||||
|
autoincrement: true,
|
||||||
})
|
})
|
||||||
orderNumber: number & Opt;
|
orderNumber: number & Opt;
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export class OrderRepository extends EntityRepository<Order> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Search by order number or user information
|
// Search by order number or user information
|
||||||
if (search) {
|
if (search) {
|
||||||
const searchPattern = `%${search}%`;
|
const searchPattern = `%${search}%`;
|
||||||
@@ -98,7 +98,7 @@ export class OrderRepository extends EntityRepository<Order> {
|
|||||||
limit,
|
limit,
|
||||||
offset,
|
offset,
|
||||||
orderBy: { [orderBy]: order.toLowerCase() as 'asc' | 'desc' },
|
orderBy: { [orderBy]: order.toLowerCase() as 'asc' | 'desc' },
|
||||||
populate: ['user','product'],
|
populate: ['user', 'product', 'designer'],
|
||||||
});
|
});
|
||||||
|
|
||||||
// Collect all (orderId, productId) pairs for efficient review lookup
|
// Collect all (orderId, productId) pairs for efficient review lookup
|
||||||
|
|||||||
Reference in New Issue
Block a user