Hi all,

I'm starting up a PHP MySQL website for which I would like to have version control for the MySQL database. That is, I know how to do it with PHP- fairly straightforward, just use CVS or another file versioning system -- check out files to the test server, modify and test, then apply them back to the production server -- but is there a system for MySQL, without affecting data, just table structure, or even select tables of data (a static countries table, as opposed to a dynamic users information table)?

Because I imagine you could CVS the actual database files... but let's say I add a column, then later want to revert back to when I didn't have the column, but want to keep all the data that's been added to the table since (since this is on the production server)... is that possible?

Basically, is there any kind of way I can autonomously keep track and revert database structure changes between testing and production servers (make changes on test server, 'apply changes' to production)?