Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email

Magento Forum

dev and prod environments - howto
Jon Edwards
Jr. Member
Total Posts:  29
Joined:  2008-10-10

I apologize if this has already been discussed, but I couldn’t find it. There are some threads floating around out there that briefly touch on this but no concrete solutions.

I’ve got my production installation of Magento hosted online (Linux) and a development installation on my local Vista machine running WAMP.  I’d like to be able to do all of my development and testing locally and then easily update the online site once I’m happy with the changes. Seems like the standard way to do things right? I’m interested in exactly how some of you are accomplishing this.  Updating changes in the filesystem seems straightforward. I simply start with identical copies of each, make changes to the dev site (most of these occur in the APP and SKIN directories) and when I’m done developing, upload/replace. To be sure I’m not missing anything, I can use a utility like Beyond Compare to check for differences (missing files, etc.)

The tricky part is with the database. How do I proceed here?  It seems to me that I need to take down the production site temporarily, do a database backup, download and install to my dev shop. Now I have the most recent version of the DB with current orders etc.  Now I do my development that makes changes to the database (installing new extensions, new products or attributes, upgrade magento, etc etc.), test, and then when I’m happy, create a backup of the local dev, upload and install on the production site. Test again to be sure on the production site and then bring the site back up.

How can I do this without taking the site down? Is there a way to merge my dev database that has some changes to certain config tables, with my production database that would have new entries in the customer/orders tables? Seems like that could really mess things up. There are also some minor differences like the site URLs are different for my prod and dev sites so I have to go in to the core_config_data table and manually change these entries with each sync. I’ve read a little about replication and wonder if that somehow could work.  Am I making this a lot more complicated than it needs to be? Seems like my need would be common to just about every magento user? (Assuming your not just developing and testing on the live production server - I’ve been guilty of that in the past… ohh )

Thanks everyone for your thoughts!


Magento Community Magento Community
Magento Community
Magento Community
Total Posts:  57
Joined:  2008-06-27
Montreal, QC


That’s an interesting topic.
Can we just take a copy of the production installation (files + database), install them on a test server, make changes and install new extension, then, when everything’s ready , put only the files back from the test server to the production server (not the database) and assume the production database will be automatically updated ?

Or is it mandatory to copy the test database to the production database once new extensions have been installed on the test installation ? In this case the production site would need to be down many hours…


Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top