Cambiar el ID de incremento de una entidad de BD (pedido, factura, nota de abono, etc.) en una tienda particular

Este artículo explica cómo cambiar el ID de incremento de una entidad de la base de datos de Adobe Commerce (BD) (pedido, factura, nota de abono, etc.) en una tienda de Adobe Commerce en particular utilizando ALTER TABLE Instrucción SQL.

Versiones afectadas

  • Adobe Commerce local: 2.x.x
  • Adobe Commerce en infraestructura en la nube: 2.x.x
  • MySQL: any versión admitida

¿Cuándo tendría que cambiar el ID de incremento (casos)?

Es posible que tenga que cambiar el ID de incremento de las nuevas entidades de base de datos en estos casos:

  • Después de una restauración de copia de seguridad en disco duro en un sitio activo
  • Se han perdido algunos registros de pedidos, pero sus ID ya están siendo utilizados por las puertas de enlace de pago (como PayPal) para su cuenta de comerciante actual. Siendo este el caso, las puertas de enlace de pago dejan de procesar nuevos pedidos que tienen el mismo ID, devolviendo el error "ID de factura duplicado"
NOTE
También puedes solucionar el problema de la pasarela de pago de PayPal permitiendo varios pagos por ID de factura en las Preferencias de recepción de pagos de PayPal. Consulte Solicitud rechazada de puerta de enlace de PayPal: emisión de factura duplicada en nuestra base de conocimiento de soporte.

Pasos previos necesarios

  1. Busque tiendas y entidades para las que se debe cambiar el nuevo ID de incremento.
  2. Connect a su base de datos MySQL. Para Adobe Commerce en la infraestructura en la nube, al principio, debe hacer lo siguiente SSH a su entorno.
  3. Compruebe el valor actual auto_increment para la tabla de secuencia de entidades mediante la siguiente consulta:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';

Ejemplo

Si está comprobando un incremento automático de un pedido en la tienda con ID=1, el nombre de la tabla sería:

'sequence_order_1'

Si el valor de auto_increment la columna es 1234, el siguiente pedido realizado en la tienda con ID=1 tendrá el ID #100001234.

Documentación relacionada

Actualizar entidad para cambiar el ID de incremento

Actualice la entidad con la siguiente consulta:

ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
WARNING
Importante: El nuevo valor de incremento debe ser mayor que el actual, no menor.

Ejemplo

Después de ejecutar la siguiente consulta:

ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;

el siguiente pedido realizado en la tienda con ID=1 tendrá el ID #100002000.

Pasos recomendados adicionales en el entorno de producción (nube)

Antes de ejecutar ALTER TABLE Consulte el entorno de producción de Adobe Commerce en la infraestructura en la nube y le recomendamos encarecidamente que siga estos pasos:

  • Pruebe todo el procedimiento para cambiar el ID de incremento en el entorno de ensayo
  • Crear Haga una copia de seguridad de la base de datos para restaurar la base de datos de producción en caso de error

Documentación relacionada

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a