Bỏ qua id thứ tự 1 trong Magento 2


7

Trong cửa hàng Magento 2 của chúng tôi đột nhiên id đơn hàng đã bắt đầu bỏ qua id đơn hàng 1.

Dưới đây là ví dụ id thứ tự:

000000011
000000013
000000015
000000017
000000019

Tôi đã xem qua nhiều bài đăng như magento-order-number-numbermagento-order-id-tăng-id , và họ nói như thế do thanh toán thất bại / không hoàn thành, hoặc khách hàng không hoàn thành tất cả các bước thanh toán mà vấn đề này có thể xảy ra .

Vì vậy, câu hỏi của tôi là, nó chỉ xảy ra trong các kịch bản được đề cập và từ thứ tự tiếp theo, nó sẽ hoạt động tốt nếu không có vấn đề gì, nhưng trong trường hợp của tôi, nó luôn bỏ qua 1 đơn hàng. Tôi đã quan sát điều này cho khoảng 100 đơn đặt hàng.

Một số bài viết cũng đề xuất do giỏ hàng bị bỏ rơi, vấn đề này có thể xảy ra vì vậy tôi đã cắt bớt các bảng trích dẫn bằng cách sử dụng truy vấn bên dưới, vấn đề vẫn còn tồn tại.

SET FOREIGN_KEY_CHECKS=0;

TRUNCATE TABLE `quote`;
TRUNCATE TABLE `quote_address`;
TRUNCATE TABLE `quote_address_item`;
TRUNCATE TABLE `quote_id_mask`;
TRUNCATE TABLE `quote_item`;
TRUNCATE TABLE `quote_item_option`;
TRUNCATE TABLE `quote_payment`;
TRUNCATE TABLE `quote_shipping_rate`;

SET FOREIGN_KEY_CHECKS=1;

Làm thế nào tôi có thể khắc phục điều này?


4
Bạn có bất kỳ phần mở rộng có thể ảnh hưởng đến các đơn đặt hàng? Có khả năng một tiện ích mở rộng gọi reserveOrderIdkiểm tra mà không có kiểm tra nếu báo giá đã có id đơn hàng dành riêng. Hãy thử vô hiệu hóa tất cả các tiện ích mở rộng tùy chỉnh và xem nếu nó xảy ra.
Marius

1
bạn có thể vui lòng đề cập đến nơi nghỉ ngơi / gia hạn thanh toán mà bạn đang sử dụng. Đôi khi, tiện ích mở rộng thanh toán bảo lưu Id đơn hàng trước khi chuyển hướng đến cách thanh toán và sau khi thanh toán thành công sẽ được tạo với id đơn đặt hàng dự trữ đó.
Thông tin Pritam ngày 24

@Marius, tôi có một mô-đun sửa đổi bảng báo giá và thứ tự. Tôi sẽ thử vô hiệu hóa nó, nếu nó hoạt động.
amitshree

@ PritamInfo24, tôi đang sử dụng cổng thanh toán PayUMoney. Mặc dù thứ tự được đặt trong Magento ngay khi tôi nhấp vào nút "Đặt hàng".
amitshree

1
Tôi nghĩ rằng giả định được đăng bởi Marius là cách đúng đắn để tìm ra vấn đề. Tôi sẽ đề nghị tìm kiếm tất cả mã nguồn của bạn cho các cuộc gọi của phương thức setReservedOrderId($reservedOrderId)có thể hướng dẫn bạn đến đúng điểm. Nếu bạn có khả năng, tôi sẽ đề nghị tạo một plugin và nối nó trước phương thức đó để ghi lại tất cả các cuộc gọi bằng backtrace, điều đó có thể cho bạn một gợi ý về các cuộc gọi đến từ
HelgeB

Câu trả lời:


3

Sau khi đào sâu vào một số bài viết tôi đã tìm ra, không có cách nào khác để tăng thêm 2 so với điều này:

Cửa hàng Magento đặt hàng id tăng tự động trong sequence_order_1hoặc sequence_order_2bảng, dựa trên các cửa hàng. Vì vậy, nó chỉ sử dụng 1 id tăng theo mặc định. Trừ khi ai đó thay đổi auto_increment_incrementgiá trị của cơ sở dữ liệu như:

SET @@auto_increment_increment=2;

Hãy thử lệnh này và xem nếu giá trị tăng tự động của bạn được cố định:

SET @@auto_increment_increment=1;

Tôi không tìm thấy giải pháp nào khác.

Lưu ý: Nếu bạn gặp sự cố này trên id tăng đơn hàng và nó xảy ra do giá trị tăng tự động, thì nó sẽ xảy ra trên tất cả các bảng, vì đó là biến toàn cục

Chỉ muốn giúp đỡ :)


Vài ngày trước tôi đã cập nhật auto_increment cho sequence_order_1bảng. Sau khi thay đổi điều đó, id gia tăng là theo trình tự, nhưng sau đó về vấn đề này bắt đầu xảy ra.
amitshree

Tôi nghĩ rằng @Kamal Paliwal có quan điểm, bạn cần kiểm tra giá trị sales_ resultence_profile, nhưng giá trị meta có thể là bất cứ điều gì, có thể là 6
Shoaib Munir

Trong sequence_order_1bảng AUTO_INCREMENTgiá trị là 90691nhưng cuối cùng sequence_value 90689trong bảng đó.
amitshree

Lạ nhỉ. Bạn đã thử SET @@auto_increment_increment=1;trên cơ sở dữ liệu?
Shoaib Munir

2
Cảm ơn Shoaib. Điều đó đã giúp tôi đi đúng hướng để tìm ra vấn đề. Vấn đề là đã auto-increment-increment = 2được thiết lập trong /etc/my.cnftập tin. Sau khi cập nhật nó, vấn đề được giải quyết.
amitshree

2

Kiểm tra giá trị của stepcột trong sales_sequence_profilebảng cho meta_id(5 có thể khác nhau nhưng bạn cần kiểm tra cột order)


Bạn có quan điểm, nhưng trong trường hợp của tôi, giá trị meta là 6. Câu trả lời hay
Shoaib Munir

Nó có thể là do các phiên bản Magento khác nhau
Kamal Paliwal

Tôi thấy giá trị của stepcột là 1cho tất cả các hàng trong sales_sequence_profilebảng.
amitshree
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.