Enterprise software is evolving at a faster rate than ever before with customer's expecting upgrades to occur regularly. These upgrades not only have complex consequences for legacy software but the database upgrade also. This paper discusses the challenges associated with relational database schema migrations which commonly occur with major upgrade releases of enterprise software. The most prevalent method of performing a schema migration is to execute SQL script files before or after the software upgrade. This approach performs poorly with large or complex database migrations and also requires separate script files for each supported database vendor. A tool was developed for a complex database upgrade of an enterprise product which uses XML in a metadata-driven approach. The key advantages include the ability to abstract complexity, provide multi-database vendor support and make the database migration more manageable between software releases. This marks an evolutionary step towards autonomic self-migrations. © 2013 Springer-Verlag London.