Hallo,
meine Methode ist folgende:
Ich benutze IBExpert um die Scripte für die Änderungen zu erstellen und erstelle dann eine Ressourcen-Datei die die Scripte enthält. Das Programm führt die Scripte dann aus, wenn es beim Start feststellt, dass die Programmversion höher ist als der Wert in der Datenbank ist (wird dort in einem Generator gespeichert).
Ist es nur eine kleine Änderung wie etwa ein zusätzliches Feld in einer Tabelle dann schreibe ich den
SQL-Befehl mit in den
QC.
Probleme (benutze Firebird) dabei sind allerdings folgende:
1. Firebird-Server muss oft upgedatet werden; das Programm in seiner aktuellen Version braucht Firebird 2.5, alte Versionen des Programms arbeiten mit Firebird 1.5; weiter ergibt sich dann auch noch das Problem das die Ondisk-Struktur der Datenbank nicht mehr passt und diese über Backup/Restore angepasst werden muss.
2. Für manche Änderungen der Datenbank braucht man exklusiven Zugriff; also müssen alle anderen Clients geschlossen werden. Darauf kann man den User zwar hinweisen - hilft aber nicht immer.
Überlege, ob ich das Update des Datenbankservers über ein AutoIt-Script machen könnte.
Gruß
Ralf