I’m new to the forum, and frankly this will be my first and last post here, but no matter that here is my contribution to the community.
I’m System architect with a lot of on-hand Sys. admin and PHP dev. experience.
Recently a friend of mine asked me if I can upgrade his 18.104.22.168 Magento store to 22.214.171.124 - not the latest as he bought one template which supports Magento up to 126.96.36.199.
So I started...with 1Gb database and 10 GB site...long nights of FTP download, DB dumps from his small hosting account and one day I had the source on my little Linux box.
Then I enter in Google - ‘Upgrade Magento 188.8.131.52 to 184.108.40.206’ and one post got my attention: http://stackoverflow.com/questions/11662347/how-to-upgrade-magento-1-4-1-1-to-1-7-0-2
Yeah, perfect post, but not applicable to my case as the site source (to many devs. on one project changing the code, changing the stuff around without any kind of communication is not good) was awful and I got ‘pear’ missing. Downloading it from the ‘Archive’ made me a headache as there was some problem with the ‘downloader’ - many deprecated fucntions (ignoring them caused the site not to work).
I’ve spent sleepless nights trying tutorial after tutorial, but without success - to many errors to fix, to many DB problems caused by the ‘update’ tutorials.
Then I found one link, somewhere in this great community forum, from which I saw only one sentence - ‘Why just not start with fresh install and overwrite ?’. This is what I did.
I’ve copied on separate vHost one fresh 220.127.116.11 and put the DB details of the old DB (from 18.104.22.168) then hit ‘Install’.
Eurika - I got the DB updated, but unfortunately with one problem…
The update script does not have ‘CREATE TABLE ‘rating’’ but only ALTER it’s CONSTRAINT, and you cannot create it as other table have the ‘FK_RATING_ENTITY_ID_RATING_ENTITY_ENTITY_ID’ constraint and it’s violating the unique name - already existing.
mysql> CREATE TABLE `rating` (
-> `rating_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘Rating Id’,
-> `entity_id` smallint(5) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘Entity Id’,
-> `rating_code` varchar(64) NOT NULL COMMENT ‘Rating Code’,
-> `position` smallint(5) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘Rating Position On Frontend’,
-> PRIMARY KEY (`rating_id`),
-> UNIQUE KEY `UNQ_RATING_RATING_CODE` (`rating_code`),
-> KEY `IDX_RATING_ENTITY_ID` (`entity_id`),
-> CONSTRAINT `FK_RATING_ENTITY_ID_RATING_ENTITY_ENTITY_ID` FOREIGN KEY (`entity_id`) REFERENCES `rating_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE
-> ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT=’Ratings’;
ERROR 1005 (HY000): Can’t create table ‘db_trueriders.rating’ (errno: 121)
The above is from the DB Magento template for 22.214.171.124...So, I got the above code and changed the table constraint to ‘FK_RATING_ENTITY_ID_RATING_ENTITY_ENTITY_ID_TEMP’ then created the table and re-run the installation process (it skips already updated tables which is GREAT !)
This did the job and I got the site fully working. After I got the site up I’ve just fixed the constraint name and everything is here !
What you need for this is just to copy the media/ folder from your old site (of course in my case - I’ve new template on which some HTML/CSS dev. guys will work afterwards).
Hope it helps !
/bit experience is a bit of saved time