Writing about this kind of stuff on my blog is quite selfish, I suppose the only person visiting this posts it’s me, when trying to remember how I have managed to fight away some computer quirk.
Anyway, today I’ve successfully managed to bring a medium-size Magento installation from 1.3 version to to 1.4 to life.
As usual I bumped into some problems along the way. This was the first:
QLSTATE[HY000]: General error: 1005 Can’t create table ‘db_xxx.catalog_product_index_tier_price’ (errno: 150)
it’s conflicting with an existing table. So go to:
/public_html/app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.19-1.4.0.0.20.php
and remove the following from being executed:
CREATE TABLE IF NOT EXISTS `{$installer->getTable('catalog/product_index_website')}` ( ...
CREATE TABLE IF NOT EXISTS `{$installer->getTable('catalog/product_index_tier_price')}` ( ....
Next, Zend cache was bringing the whole show down:
(sometimes it displays: “There was an error processing your order. Please contact us or try again later.” on order completion)
Invalid mode for clean() method
a simple $rm -rf app/code/core/Zend/Cache/ does the trick.
Now don’t forget to change the base_urls, clean cache and index db.
Not selfish. I’m running into this issue currently. Used your fix, now I get this:
a:5:{i:0;s:256:”Error in file: “app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.27-1.4.0.0.28.php” - SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘4-is_recurring’ for key ‘entity_type_id’”;
Any ideas? This is a nasty little upgrade.
entity_type_id is an auto_increment field. Maybe cleaning up that table before migrating it? Or remove that constrain from the query?