I Rails-verdenen er der konceptet migrationer, scripts, hvor ændringer af databasen er lavet i Ruby i stedet for en databasespecifik variant af SQL. Din Ruby-migreringskode ender med at blive konverteret til den DDL, der er specifik for din nuværende database; dette gør det meget nemt at skifte databaseplatform.
For hver ændring, du foretager i databasen, skriver du en ny migrering. Migreringer har typisk to metoder:en "op"-metode, hvor ændringerne anvendes, og en "ned"-metode, hvor ændringerne fortrydes. En enkelt kommando bringer databasen ajour og kan også bruges til at bringe databasen til en bestemt version af skemaet. I Rails opbevares migreringer i deres eget bibliotek i projektbiblioteket og tjekkes ind i versionskontrol ligesom enhver anden projektkode.
Dette Oracle guide til skinnemigrationer dækker migrationer ganske godt.
Udviklere, der bruger andre sprog, har set på migreringer og har implementeret deres egne sprogspecifikke versioner. Jeg kender til Ruckusing , et PHP-migreringssystem, der er modelleret efter Rails' migreringer; det kan være det, du leder efter.