Magento: Fixing core_file_storage and core_directory_storage Problems

Magento: Fixing core_file_storage / core_directory_storage

von
Kreativ&Söhne

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table core_directory_storage and core_file_storage not found.

Eine weitere Geschichte aus dem Magento-Kuriositätenkabinett trug sich gestern zu, als ein Magento 1.5.x von jetzt auf gleich einfach nicht mehr funktionierte.
Wie wir das Problem gelöst haben erfahrt ihr in "Magento-Kuriositäten", Folge 1337.

Wer einen Magento 1.5.x im Einsatz hat und plötzlich feststellt, dass dieser - auf Grund des folgenden Fehlers - nicht mehr funktioniert, für den haben wir hier die Lösung:

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table core_directory_storage and core_file_storage not found.

Magento möchte auf die Datenbanktabellen core_directory_storage und core_file_storage zugreifen. Diese Tabellen existieren aber aus mysteriösen Gründen nicht und werden eigentlich auch gar nicht benötigt. Trotzdem wird der Tag kommen, an dem Magneto diese beiden Tabellen benutzen möchte.

Die Lösung für dieses Problem ist relativ einfach; Man erstellt mit folgedem SQL-Query die beiden Tabellen. Danach funktioniert der Shop wieder problemlos.

CREATE TABLE `core_directory_storage` (
  `directory_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) NOT NULL DEFAULT '',
  `path` VARCHAR(255) NOT NULL DEFAULT '',
  `upload_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `parent_id` INT(10) UNSIGNED NULL DEFAULT NULL,
  PRIMARY KEY (`directory_id`),
  UNIQUE INDEX `IDX_DIRECTORY_PATH` (`name`, `path`),
  INDEX `parent_id` (`parent_id`),
  CONSTRAINT `FK_DIRECTORY_PARENT_ID` FOREIGN KEY (`parent_id`) REFERENCES `core_directory_storage` (`directory_id`) ON UPDATE CASCADE ON DELETE CASCADE
) COMMENT='Directory storage' COLLATE='utf8_general_ci' ENGINE=InnoDB ROW_FORMAT=DEFAULT;
CREATE TABLE `core_file_storage` (
  `file_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `content` LONGBLOB NOT NULL,
  `upload_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `filename` VARCHAR(255) NOT NULL DEFAULT '',
  `directory_id` INT(10) UNSIGNED NULL DEFAULT NULL,
  `directory` VARCHAR(255) NULL DEFAULT NULL,
  PRIMARY KEY (`file_id`),
  UNIQUE INDEX `IDX_FILENAME` (`filename`, `directory`),
  INDEX `directory_id` (`directory_id`),
  CONSTRAINT `FK_FILE_DIRECTORY` FOREIGN KEY (`directory_id`) REFERENCES `core_directory_storage` (`directory_id`) ON UPDATE CASCADE ON DELETE CASCADE
) COMMENT='File storage' COLLATE='utf8_general_ci' ENGINE=InnoDB ROW_FORMAT=DEFAULT;

Zurück