Most schema migration tools are tightly coupled with the ORM or the framework in use. They usually have a limited DSL to interact with the database and are hard to maintain on a complex system.
Sqitch lets you write the upgrade scripts in the native language
of your database and provides automatic dependency resolution.
The currently supported database engines are PostgreSQL, SQLite, MySQL, and Oracle.
Sqitch’s source is written in Perl, but it is a command line tool and can be used in any project written in any programming language.
David E. Wheeler (not to be confused with other David Wheelers in the computing field),
provides extensive tutorials including talks, slides, and videos. He also blogs about the
development of Sqitch.