PURPOSE:
When developing an application which utilizes a database, usually some changes in the database structure are needed. It becomes a problem, when the application is developed and implemented in the production at same time. What's more - there may be many versions of the same application, connected to databases with various structures,
The process of tracking differences between databases and introducing appropriate changes is quite painfull. Usually it is done by means of puttingset of .sql files in some directory and applying them to the database, depending from which version to which it's being upgraded.