Magento: duplicatie entries

Na import in Magento zijn er soms dubbele id’s geimporteerd en krijg je dus foutmeldingen

Hoe kom je er achter welke producten dubbel aanwezig zijn en daardoor de database integriteit aantasten?

Hiervoor moet je het volgende SQL commando uitvoeren op de database (via PHPmyadmin).

SELECT orig.entity_id,orig.attribute_id,orig.store_id,

orig.value as original_value,

duplicated.value as duplicated_value

FROM catalog_product_entity_decimal as orig

INNER JOIN catalog_product_entity_decimal as duplicated

ON (

orig.entity_id = duplicated.entity_idAND 

orig.store_id = duplicated.store_idAND 

orig.attribute_id = duplicated.attribute_idAND 

orig.value_id > duplicated.value_id)

De producten die dubbel zijn komen nu tevoorschijn. Deze kun je verwijderen.

 

Magento: cronjob instellen

Instellen van een cronjob voor Magento

Een cronjob in Magento instellen is belangrijk, want het verzorgt de update van allerlei processen. Laten we even gaan kijken hoe we dit kunnen regelen.

Om een cronjob te kunnen instellen is servertoegang nodig via SSH. Mijn favoriete client hiervoor is Putty. Deze kun je gratis downloaden.

Op de server kun je ingeven: crontab -l om te zien welke taken er draaien. Om een cron te wijzigen en jobs toe te voegen gebruik je crontab -e.

Je komt dan in de editor. Je moet dan de verwijzing naar de cron.php (of .sh) toevoegen en instellen dat deze regelmatig draait. Daarnaast kun je natuurlijk andere jobs toevoegen, bijvoorbeeld het indexeren van Magento in de nachtelijke uren, opruimen van sessiedata die ouder dan 2 dagen zijn, cache opschonen, etc.. Hierbij een aantal voorbeelden:

Cron:

#run cron.php (elke 15 minuten)

*/15 * * * * php -f /var/www/beleefalmelo.nl/web/cron.php > /dev/null 2>&1

Indexeren database:

#opnieuw indexeren database (elke dag om 5 A.M.)

0 5 * * * php -f /var/www/beleefalmelo.nl/web/shell/indexer.php reindexall >  /dev/null 2>&1

Opschonen log-bestanden:

#opschonen log bestanden (elke 1e dag van de maand om 0:00)

0 0 1 * * php -f /var/www/beleefalmelo.nl/web/shell/log.php clean > /dev/null 2$