Das kommt jetzt evtl schon zu spät ... Ich verwalte die Datenbankstruktur auch in Skripten (bzw in Quellcode) und habe für jedes Versions-Upgrade auch ein passendes Versions-Downgrade. Dann muss ich diese nur rückwärts laufen lassen, zB:
Code:
ALTER TABLE abc ADD COLUMN name CHAR(30);
ALTER TABLE def ALTER COLUMN c2 c2 INTEGER;
EXECUTE PROCEDURE SetDBVersion(5);
Code:
ALTER TABLE def ALTER COLUMN c2 c2 SHORT;
ALTER TABLE abc DROP COLUMN name;
EXECUTE PROCEDURE SetDBVersion(4);
je nach Änderung müssen evtl noch die entsprechenden Daten bereinigt werden, aber im großen und ganzen komme ich damit gut zurecht.