Mantenimiento
Arregla una importación defectuosa en cientos de productos, con una copia de cada cambio
Un error en cientos de productos se arregla de una pasada cuidadosa, y los valores antiguos se guardan para poder deshacerlo.
ProVersión de pago
Qué sustituye: 2-3 h preparando y comprobando un arreglo en la base de datos
cuenta los productos cuyo ean13 empieza por un espacio o un apóstrofo, enséñame 10 ejemplos y luego límpialos. máximo 1000 filas, guarda una copia de seguridad para poder deshacerlo
Qué hace el chat
- El chat cuenta los productos afectados y te enseña ejemplos.
- Te enseña el cambio previsto y exactamente cuántos registros va a tocar.
- Tras tu «sí», hace el cambio con un límite de seguridad y guarda una copia de cada registro cambiado.
- Comprueba el resultado y te dice cómo deshacerlo si hace falta.
El problema
Una importación puso espacios y un apóstrofo delante de 800 códigos de barras, así que Google Merchant rechaza los productos. El back office no permite arreglar eso de forma masiva.
Qué obtienes
Todos los códigos de barras están limpios, Google puede volver a aceptar los productos y los valores antiguos se guardan en el historial de cambios.
Tú mantienes el control
Ves cada cambio antes de guardarlo y no pasa nada sin tu «sí». Esta reparación a fondo solo funciona mientras el interruptor Mantenimiento está activo (se apaga solo a las 3 horas) y guarda una copia de cada archivo o registro modificado.
Casos de uso relacionados
Para desarrolladores
- Área
- 5 · Mantenimiento
- En TellMyShop Free
- no, solo en la versión de pago
- Para
- Desarrollador, Agencia / freelance
- Herramientas
- ps_db_query, ps_db_execute, ps_get_product, ps_revert_change
Paso a paso
- Cuenta y toma una muestra con ps_db_query (SELECT sobre product donde ean13 empieza por un espacio o un apóstrofo; product_attribute se revisa de la misma forma).
- Prepara un UPDATE de una sola tabla sin JOIN (para que se aplique la copia de seguridad de filas) y llama a ps_db_execute sin confirm: la vista previa muestra el número de filas y una muestra.
- Lo ejecuta en una transacción con max_rows=1000; si fueran a cambiar más filas, se revierte. Los valores antiguos de las filas se guardan para ps_revert_change.
- Lo verifica con ps_db_query y revisa algunos productos con ps_get_product.
Seguridad
El trabajo de mantenimiento (archivos, base de datos, ajustes) solo funciona mientras el interruptor Mantenimiento está activo; se apaga solo a las 3 horas, y el propietario recibe un correo cuando se activa. ps_db_execute ejecuta un solo INSERT/UPDATE/DELETE/REPLACE en una transacción; la vista previa muestra el número de filas y una muestra, y el cambio se revierte si fueran a cambiar más filas que max_rows (hasta 1000). Un UPDATE o DELETE de una sola tabla sin JOIN guarda una copia de cada fila cambiada, así que ps_revert_change puede deshacerlo. UPDATE/DELETE sin WHERE necesita all_rows=true; ALTER/CREATE/DROP/TRUNCATE necesitan allow_ddl=true y no se pueden deshacer. Un cambio directo en la base de datos se salta los hooks de los módulos y las cachés, así que se usa una herramienta normal siempre que exista. Pruébalo primero en una copia de staging.
Última actualización: 2026-10-25