No mundo Rails, existe o conceito de migrações, scripts nos quais as alterações no banco de dados são feitas em Ruby, em vez de um sabor específico de banco de dados SQL. Seu código de migração Ruby acaba sendo convertido no DDL específico do seu banco de dados atual; isso torna a troca de plataformas de banco de dados muito fácil.
Para cada alteração feita no banco de dados, você grava uma nova migração. As migrações geralmente têm dois métodos:um método "up" no qual as alterações são aplicadas e um método "down" no qual as alterações são desfeitas. Um único comando atualiza o banco de dados e também pode ser usado para trazer o banco de dados para uma versão específica do esquema. No Rails, as migrações são mantidas em seu próprio diretório no diretório do projeto e são verificadas no controle de versão como qualquer outro código de projeto.
Este Oracle guia para migrações Rails cobre muito bem as migrações.
Os desenvolvedores que usam outros idiomas analisaram as migrações e implementaram suas próprias versões específicas de idioma. Conheço Ruckusing , um sistema de migrações PHP que é modelado a partir das migrações do Rails; pode ser o que você está procurando.