Making changes to the database structure is one of the most tedious and routine operations a developer of corporate applications faces to. The necessity of frequent updates considerably delays implementation of the project.
eZ Components offers a new solution of this problem: DatabaseSchema. First of all, DatabaseSchema it’s not an application, it’s a PHP component. It provides a unified data structure to describe relational databases. DatabaseSchema can read and write the structure from and to several databases (such as MySQL, SQLite and Oracle) and also read and write in two web language files (XML and PHP).
The main intention of the component is to extract an already existing schema from a database, and compare it with either a predefined schema to check for any changes. Although the component does allow you to create the schema manually through the API, it is often easier to create the schema yourself in a database, and then extract the data from it.