Nel mondo di Rails, c'è il concetto di migrazioni, script in cui le modifiche al database vengono apportate in Ruby piuttosto che un aspetto specifico del database di SQL. Il tuo codice di migrazione Ruby finisce per essere convertito nel DDL specifico per il tuo attuale database; questo rende molto facile cambiare piattaforma di database.
Per ogni modifica apportata al database, scrivi una nuova migrazione. Le migrazioni hanno in genere due metodi:un metodo "up" in cui vengono applicate le modifiche e un metodo "down" in cui le modifiche vengono annullate. Un singolo comando aggiorna il database e può essere utilizzato anche per portare il database a una versione specifica dello schema. In Rails, le migrazioni vengono conservate nella propria directory nella directory del progetto e vengono archiviate nel controllo della versione proprio come qualsiasi altro codice di progetto.
Questo Oracle guida alle migrazioni Rails copre abbastanza bene le migrazioni.
Gli sviluppatori che utilizzano altre lingue hanno esaminato le migrazioni e hanno implementato le proprie versioni specifiche per la lingua. Conosco Ruckusing , un sistema di migrazioni PHP modellato sulle migrazioni di Rails; potrebbe essere quello che stai cercando.