Magento获取同步媒体存储时发生错误。当我尝试将媒体同步到数据库时

时间:2015-06-16 03:53:15

标签: magento

在exceptions.log中看到此错误

> Next exception 'Zend_Db_Statement_Exception' with message 'INSERT INTO
>    `core_directory_storage` (`name`, `path`, `upload_time`,
>    `parent_id`) VALUES (?, ?, '2015-06-15 09:25:48', ?)
> SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
>    'O-1395' for key 'UNQ_CORE_DIRECTORY_STORAGE_NAME_PARENT_ID'' in
>    /srv/magento/lib/Zend/Db/Statement/Pdo.php:234

我已经截断了core_storage_directory和core_storage_files,但它似乎一直存在这个问题。

1 个答案:

答案 0 :(得分:0)

我从Anchor Hosting的支持团队得到了这个答案!

我们之前见过类似的问题。 这似乎是由两个具有相同名称但不同情况的目录引起的。

例如。如果您的媒体下面出现以下目录

MYDIR MYDIR

同步脚本插入“mydir”然后尝试插入“myDir”和 认为它已经存在,因此提出了完整性约束违规 因为它比较了不考虑案件的名称。

为避免这种情况,有两种选择:

  1. 删除/合并具有相同名称但不同大小写的文件和目录。 或
  2. 修改数据库架构,以在core_file_storage和core_directory_storage上使用namepath的BINARY属性。这将迫使MySQL以区分大小写的方式进行比较。