Before
Working on a project that includes a database implies dealing with the schema changes and versions. The problem is that the tools that can help you are pretty expensive and (from my experience) not 100% reliable. It was so bad that my team and I developed our own database versioning mechanism and even started working on a tool to automate it.
What I want
I want to be able to deal with the database schema objects the same way i deal with the code files - specifically, I want to be able to see a svn history for them.
I want to be able to deploy a new version of the database to test and production servers AUTOMATICALLY, without worrying about data loss.
I want to be able to restore an old backup (like one with specific test data) of the database and update it to the latest version.
I want to keep the developer, test and production databases in sync (that is, the schema is the same for the same version).
I want the configuration data (read-only data like states and cities) to be included in the versioning system. More...