Autor Beitrag
Nally
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: So 30.11.08 21:49 
Hallo,

nehmen wir an ich habe eine Programmversion 1.0. Nun wollen die Programmanwender neue Features. Nun erweitere ich meine Datenbank nur um ein paar neue Felder in vorhandenen Tabellen. Der Programmcode wird nun auch geändert damit die neuen Attribute der geänderten Entities auch gelesen/geschrieben werden.

Nun kommt ein Anwender daher mit einer alten Datenbank ohne die neuen Felder. Lädt die Datenbank ins Programm und führt den neuen Programmcode an der alten Datenbank aus.

Jetzt versucht der Programmcode ein Attribut zu lesen das nicht vorhanden ist...Bang Fehler, Fatal Exception ^^

Das ist jetzt noch ein einfaches Szenario bei dem nur Fields der DB hinzugefügt werden.

Wie regelt IHR sowas? eine script sql Datei ausführen und die alten Datenbank, wenn der Anwender sie lädt mit den neuen Fields bestücken?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 02.12.08 12:29 
Zum einen könntest du in deiner DB eine Versionstabelle anlegen und dann beim Programmstart entsprechend die Version abfragen und eine Fehlermeldung generieren.

Wenn du aber dynamisch die DB updaten willst, dann wäre das Ausführen entsprechender SQL-Skripte sicherlich der beste Weg.

Wie läßt du dein Programm denn updaten? Für ein automatisches Online-Updaten kann ich dir den KUpdater empfehlen: www.klausmoster.de/w...id=kupdater:de:start
Nally Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Sa 06.12.08 19:17 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:

Wie läßt du dein Programm denn updaten? Für ein automatisches Online-Updaten kann ich dir den KUpdater empfehlen: www.klausmoster.de/w...id=kupdater:de:start


Wie? das ist die Frage die ich mir für später aufheb ;-) Danke für den Link!