Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to version control, deploy and develop php and mySQL

I'm working in a project where we develop php on Zend using a mySQL database and the project is about to get to a point where it will be necessary to use version control not only for the actual code but also for the database.

Also we are getting a good production server (and the actual production server will be a test server).

So i was wondering if you guys think its a good idea to standardize the IDE the programmers use and make them have a apache/php/mySQL installed in their boxes to test the code thus having a developers environment in each computer, a test server and a production server.

If so, what set up would you recommend to each part of this process, especially mysql version control (I've never done that) and how to make the deployment?

I know its a very big question and most have been answered in different questions, but I would like a global answer about how is the faster, better (harder and stronger) set-up for this and how much time would we have to stop programming to actually have all this working! (and yes, hiring an expert in the subject is pretty much a no-no)

Thanks!

like image 750
DFectuoso Avatar asked Dec 31 '08 15:12

DFectuoso


1 Answers

No, I would not force standardization on IDE for all developers. You should be standardizing on coding style, not IDEs.

Having a PHP/Apache/MySQL install on a developer's machine is a good idea. The only issue you may run into is the developer's machines will probably not have the exact same configuration/runtime environment as the test and production server. Using a virtual image can fix this.

As far as MySQL version control, put your schema in your source code management system (CVS, SVN, Perforce, whatever). To deal with changes, you might want to look into Rails migrations for inspiration.

Deployment is a huge question. All I can say is there are tons of tools out there that you can use. Capistrano, Phing, etc.

like image 107
Ryan Doherty Avatar answered Oct 05 '22 23:10

Ryan Doherty