Ein seltsames Phänomen tauchte heute in einem von mir betreuten Magento-Shop auf. In der Kategoriezuordnung eines Artikels war der Kategoriebaum unvollständig. Der Fehler war dank StackOverflow schnell gefunden. „Magento Kategorien im Adminpanel unvollständig“ weiterlesen
ID – Value basiertes Ergebnis einer PDO-Abfrage
Immer wieder brauche ich diese Art von Abfrage, um einen Wert mit der dazugehörigen ID aus einer DB abzufragen. Das geht ganz einfach:
1 2 3 4 |
$stmt = $db->prepare("SELECT id, content FROM a_table"); $stmt->execute(); // use array_map and PDO::FETCH_GROUP|PDO::FETCH_COLUMN to create id => content pair $result = array_map('reset', $stmt->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_COLUMN)); |
„ID – Value basiertes Ergebnis einer PDO-Abfrage“ weiterlesen
DB Dump per Shell-Script
Hier habe ich ein mittlerweile recht ausgereiftes Shell-Script, mit dem ich meine Magento Datenbank-Dumps automatisiert erzeuge. Dieses Script kann sowohl zur manuellen Sicherung als auch zum Backup durch einen Cronjob verwendet werden. Dabei sollten dann allerdings alle Bildschirmausgaben entfernt werden.
Sortierreihenfolge von Kundenattributen in Backendformularen
Die Feldreihenfolge lässt sich folgendermaßen anpassen:
Tabelle eav_attribute:
Attribut anhand des Codes (z.B. lastname) raussuchen, attribute_id UND entity_type_id merken. „Sortierreihenfolge von Kundenattributen in Backendformularen“ weiterlesen
Globale Increment-IDs für Bestellungen, Rechnungen, etc
Per Standard werden Increment-IDs pro Store gespeichert, sprich jeder Store hat eigene fortlaufende Nummern für Rechnungen usw.
Um diesen Standard zu ändern, setzt man in der Datenbank in der Tabelle eav_entity_type den Wert increment_per_store auf 0.
Alle Magento Bestellungen löschen und Zähler zurücksetzen
Getestet mit Magento 1.7.
Achtung: unbedingt vorher die Datenbank einmal sichern! „Alle Magento Bestellungen löschen und Zähler zurücksetzen“ weiterlesen
Datenbank Clone per Shell
1 2 |
mysqladmin create DESTINATION_DB_NAME -u USERNAME -pPASSWORD && \ mysqldump -u USERNAME -pPASSWORD SOURCE_DB_NAME | mysql -u USERNAME -pPASSWORD -h localhost DESTINATION_DB_NAME |
DESTINATION_DB_NAME ist dabei der Name der Zieldatenbank, diese darf noch nicht existieren
USERNAME ist der DB-Benutzername. Dieser muss mit ausreichend Rechten ausgestattet sein.
Ersetze PASSWORD durch das DB-Benutzer Passwort (das fehlende Leerzeichen zwischen -p und dem PASSWORD ist korrekt).
SOURCE_DB_NAME ist der Namen der zu klonenden Quelldatenbank.
Negativen timestamp mit MySQL in Datum umrechnen
Da MySQL von Haus aus keine negativen Werte für die Methode FROM_UNIXTIME akzeptiert, kann man diese mit folgendem Workaround in ein „echtes“ Datum umwandeln: „Negativen timestamp mit MySQL in Datum umrechnen“ weiterlesen