Passa ai contenuti principali

Controllo buchi numerazione

Mi sono trovato a controllare dei buchi di numerazione all'interno di una tabella di PrestaShop quando ho effettuato l'importazione diretta in db delle traduzioni, cosa che non si dovrebbe mai fare, ma per velocità va benissimo

il caso

quando ho estratto l'elenco dei prodotti da tradurre, il cliente ha continuato a creare i prodotti all'interno del sistema.
quindi si è creato un semplice gap riguardo ai prodotti estratti e i nuovi prodotti inseriti ma non estratti.
quindi durante la traduzione sono stati lasciati fuori i prodotti appena inseriti sul sistema
l'importazione è stata eseguita in tabella cancellando prima i record della lingua di destinazione e poi è stata effettuata l'importazione.
risultato i record in lingua di destinazione dei nuovi prodotti non esistevano più
ecco perchè è sempre delicato lavorare a db

soluzione

la soluzione è far ricreare dal db i record mancati. ma prima dobbiamo identificare i buchi.
a questo riguardo ci viene in aiuto un semplice sql.
la tabella in oggetto è ps_product_lang, la tabella di PrestaShop che contiene i dati in lingua dei prodotti
lo snippet può essere utilizzato per qualsiasi progetto, sistema e tabella

ecco lo snippet
SELECT a.id_product+1 AS start, MIN(b.id_product) - 1 AS end
FROM `ps_product_lang` AS a, `ps_product_lang` AS b
WHERE a.id_product < b.id_product and a.id_lang = 1 and b.id_lang = 1
GROUP BY a.id_product
HAVING start < MIN(b.id_product)

naturalmente alle parti in grassetto dovete sostituire la tabella e la colona da controllare, modificando la where nella parte sottolineata

lo snippet è spiegato su http://www.codediesel.com/

Commenti

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Ubuntu: La propria installazione di python è danneggiata. Correggere il collegamento simbolico «/usr/bin/python».

Questa è un problema, soprattutto se si vuole aggiornare la distribuzione.+ Dì la verità: hai pacioccato con le versioni di python vero? Volevi usare la 3.5 e non 2.7 e così hai aggiunto alternatives o manipolato il symlink. No? io si. Così in fase di aggiornamento mi sono bloccato. Allora per risolverlo ecco la soluzione: elimina tuttle le eventuali alternative : sudo update-alternatives –remove-all python crea il symlink alla 2.7 sudo ln -s /usr/bin/python3.5 /usr/bin/python aggiorna i permessi: sudo chmod 7777 /usr/bin/python Ora funziona tutto. La soluzione l’ho scovata qui: https://askubuntu.com/questions/448926/do-release-upgrade-python-install-is-corrupted