views:

1545

answers:

4

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!

+1  A: 

The thing you'd version with MySQL would be DDL and DML SQL scripts to create, alter, and load the database. Scott Ambler of "Agile Database" fame has some nice ideas about how this should be done.

Standardizing the IDE is a good thing if you have one that everyone can use. But I think the version control is necessary whether you have a standard IDE or not.

Test and production on the same server? I think that's a bad idea. They should be identical but separate.

duffymo
A: 

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.

yes this is a good idea, this is how we do what we do.

care to tell me what IDE and set up your recomend to do what we do?
DFectuoso
Try to get something that most developers agree to be good. If most of your developers prefer Eclipse, use Eclipse. If they prefer NetBeans, use NetBeans. If they prefer Emacs, use Emacs.
luiscubal
+7  A: 

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.

Ryan Doherty
A: 

Hi. You can try our tool for version control, its free for MySQL users.(http://www.nobhillsoft.com/Randolph.aspx) Or better for new, the new tool : Dian-lite (http://www.nobhillsoft.com/Freebies.aspx)

I'll be happy to hear your opnions.

Itamar