Скорость таблицы Magento не работает после миграции

Мы перешли с версии 1.4 на версию 1.6. Я не уверен, является ли это проблемой миграции, но наша доставка по тарифам таблицы не работает.

У меня есть 2 примера;

Этот работает

Country    Region/State     Zip/Postal Code    Weight (and above)   Shipping Price
USA        *                *                  80                   145

Этот не работает

Country    Region/State     Zip/Postal Code    Weight (and above)   Shipping Price
USA        AL               *                  80                   145

Я проверил блоги и т. д. и не вижу проблем с файлами. Любая идея?


person Luis Valencia    schedule 14.10.2011    source источник
comment
Вы пытаетесь их отдельно или это часть одного и того же файла?   -  person jprofitt    schedule 14.10.2011
comment
Пробовал их отдельными файлами.   -  person Luis Valencia    schedule 14.10.2011
comment
Вы были уверены, что установили AL в качестве состояния, когда проверяли? (Знаю, очевидно... но я должен спросить, чтобы быть уверенным!)   -  person jprofitt    schedule 14.10.2011
comment
да, я использовал почтовый индекс 36310 AL. mongabay.com/igapo/zip_codes/AL.htm есть идеи?   -  person Luis Valencia    schedule 14.10.2011
comment
в вашей БД проверьте поле dest_zip в shipping_tablerate: оно пустое или 0?   -  person OSdave    schedule 14.10.2011
comment
ах нет, извините, я только что проверил, там есть *.   -  person Luis Valencia    schedule 14.10.2011
comment
странная вещь, которую я заметил, в этой таблице 1317 строк, а в нашем файле только 1 строка, похоже, она хранит историю и никогда не удаляет старые записи при загрузке нового файла? что бы вы предложили?   -  person Luis Valencia    schedule 14.10.2011
comment
Я заметил, что для некоторых идентификаторов веб-сайтов это *, но для других идентификаторов веб-сайтов пусто. Я также заметил, что dest_region_id равен 0.   -  person Luis Valencia    schedule 14.10.2011


Ответы (1)


условие sql для tablerate проверяет (среди прочего), что dest_zip = '' (см. Mage_Shipping_Model_Mysql4_Carrier_Tablerate, строка 135).
Поскольку у вас есть * для этого поля, условие не выполняется.
Лучшим решением будет быть для редактирования базы данных, заменяя * ничем (пустое поле).
В моем случае я не мог (не знаю почему, база данных продолжала заменять мою пустую строку на 0), поэтому мне пришлось чтобы переопределить класс, чтобы добавить одну строку:

"dest_country_id = :country_id AND dest_region_id = :region_id AND dest_zip = :postcode",
"dest_country_id = :country_id AND dest_region_id = :region_id AND dest_zip = ''",
"dest_country_id = :country_id AND dest_region_id = 0 AND dest_zip = ''",
"dest_country_id = :country_id AND dest_region_id = 0 AND dest_zip = '0'",//added line
"dest_country_id = :country_id AND dest_region_id = 0 AND dest_zip = :postcode",
"dest_country_id = '0' AND dest_region_id = 0 AND dest_zip = ''",

ХТН

person OSdave    schedule 14.10.2011
comment
Привет, действительно это работает, после того, как я удалю * и поставлю пустой, он работает нормально, однако, даже если я удалю * из файла, * снова появится в базе данных. Вы сказали, что вам пришлось переопределить класс, не могли бы вы объяснить, что вы имеете в виду? Я не разработчик php или разработчик magento - person Luis Valencia; 14.10.2011
comment
какой класс я должен переопределить? - person Luis Valencia; 14.10.2011
comment
@developers, пожалуйста, не смотрите на это. вы не php-разработчик, так что давайте идти простым и неприятным путем. Скопируйте свой файл app/code/core/Mage/Shipping/Model/Mysql4/Carrier/Tablerate.php в app/code/local/Mage/Shipping/Model/Mysql4/Carrier/Tablerate.php, найдите в нем код, который я вставил в своем ответе, и добавьте строку, которую я указал, как ту, которую я добавил. - person OSdave; 14.10.2011
comment
Я могу включить dest_zip в свою БД, но скорость таблицы все равно не работает. Я обновился с 1.4 до 1.7, и ставка $0+ показывает нормально, но ставка $100+ и т. д. не работает. Если я загружаю csv достаточное количество раз, он работает, а через несколько дней перестает работать. Любые идеи? - person Jon; 03.07.2012