[Solo PaaS]{class="badge informative" title="Se aplica solo a proyectos de Adobe Commerce en la nube (infraestructura PaaS administrada por Adobe) y a proyectos locales."}

Cambiar ID de incremento

Este artículo explica cómo cambiar el id. de incremento de una entidad de la base de datos de Commerce (BD) (pedido, factura, nota de abono, etc.) en un almacén de Commerce concreto mediante la instrucción SQL ALTER TABLE.

Versiones afectadas

¿Cuándo necesita cambiar el ID de incremento?

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 así, las puertas de enlace de pago dejan de procesar nuevos pedidos que tienen los mismos ID, devolviendo el error "ID de factura duplicado"
INFO
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. Ver Solicitud rechazada de puerta de enlace de PayPal: problema de factura duplicada en Knowledge Base.

Pasos previos necesarios

  1. Busque tiendas y entidades para las que se debe cambiar el nuevo ID de incremento.

  2. Conéctese a su base de datos MySQL.
    Para Adobe Commerce en la infraestructura en la nube, al principio, debe conectarse usando SSH a su entorno.

  3. Compruebe el valor actual auto_increment para la tabla de secuencia de entidades mediante la siguiente consulta:

    code language-sql
    SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
    

Si está comprobando un incremento automático para un pedido en el almacén con ID=1, el nombre de la tabla sería "sequence_order_1".

Si el valor de la columna auto_increment es '1234', el siguiente pedido realizado en el almacén con ID=1 tendrá el identificador '#100001234'.

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};
INFO
Importante: El nuevo valor de incremento debe ser mayor que el actual.

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 identificador "#100002000".

Pasos adicionales recomendados en entornos de producción en la nube

Antes de ejecutar la consulta ALTER TABLE en un entorno de producción de Adobe Commerce en una infraestructura en la nube, se recomienda encarecidamente realizar estos pasos:

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

[cualquier versión compatible]

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c