Ich halte das bei all meinen Datenbankanwendungen so:
In der Datenbank gibt es eine Tabelle DB_VERSION. Dort steht eine Versionsnummer, sowie eine Notiz für mich selber, was alles geändert wurde.
Im Programm habe ich nun ein eigenes Datenmodul für DB Updates. Nach dem Verbinden der Datenbank prüfe ich, ob die Version gleich meiner erwarteten ist. Wenn ja, ganz normal weiter arbeiten, wenn nicht werden nacheinander die notwendigen Update Scripte ausgeführt. Diese Scripte habe ich pro Version auf dem Datenmodul angelegt, ist also nocht relativ übersichtlich.
Beispiel:
Ich habe eine Datenbank Version 1. Nun stelle ich fest, dass in dieser DB was geändert werden muss. Also mach ich eine Kopie von der V1, nenn diese V2, und füg dort alle Änderungen ein. Wenn ich fertig bin, lass ich die Metadaten der beiden Datenbanken vergleichen und das ist dann mein Script, was ich in der anwendung als neues Script anlege.
Hoffe, das reicht als Denkanstoß
