Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Datenbank zur Laufzeit anlegen usw. ??

  Alt 13. Mai 2006, 09:29
Lade dir mal mein Rema runter, da handhabe ich das wie folgt. Es gibt eine Tabelle mit der aktuellen Datenbankversion drin, ja sogar eine ganze History. Die sieht bei mir z.B. so aus:

Code:
Query:
# SELECT *
# FROM `rm_remaversion`

'ID','Datum','Major','Minor','Release','Build','Runned'
'4','2004-08-28 23:27:53','1','0','12','33','1'
'6','2004-09-20 00:10:27','1','0','13','34','1'
'7','2004-10-10 20:14:28','1','0','14','35','1'
'8','2004-10-20 19:59:40','1','0','16','37','1'
'9','2004-10-25 02:34:00','1','0','18','39','1'
'10','2004-11-04 15:33:30','1','1','2','40','1'
'11','2004-11-07 22:17:54','1','1','3','41','1'
'12','2004-12-11 20:13:50','1','1','4','43','1'
'13','2005-04-27 12:39:48','1','1','5','44','1'
'14','2005-05-17 09:34:27','1','1','4','42','1'
'15','2005-07-29 10:29:37','1','2','1','45','1'
'16','2005-12-14 23:13:55','1','2','4','51','1'
Das ist eine Liste von Datenbankupdateskripten, die bereits in der Datenbank vom Programm durchgeführt wurden, erkennbar an der letzten Spalte.

Vertreibe ich nun eine neue Programmversion (1.2.5.52), so lege ich meinem Program im Installationsverzeichnis eine Datei v.1.2.5.52.txt bei, die das DB Updateskript beinhaltet. Beim Start des Programms wird im Skriptverzeichnis nach neuen Einträgen gesucht, und diese in der Tabelle gepflegt, nur mit 0 in der letzten Spalte. Nach Einfügen der Datensätze führe ich dann vom Programm aus all diejenigen Skripte aus, die noch nicht ausgeführt wurde (0) bis zu der eigenen Programmversion, und natüclich in der richtigen Reihenfolge.

2 Sachen sind da imminent wichtig: erstmal nur die Skripte auszuführen, die für die eigene Programmversion relevant sind. Wenn ich noch Version 1.2.1.45 nutze, so brauche ich kein Update durchzuführen, auch wenn sich aus irgendeinem unerklärlichen Grund eine rezentere Updatedatei in mein Verzeichnis verirrt haben sollte. Man darf ja nie vergessen, dass mehrere Platzrechner in der Regel auf ein und dieselbe Datenbank zugreifen.

Willst Du nun diese Updates nicht von jedem Platz aus durchführen, dann kannst du dir ja auch ein kleines Tool schreiben, welches das dann zentral irgendwo abarbeitet.
  Mit Zitat antworten Zitat