Thema: Delphi Firebird und SQL-Dump

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Firebird und SQL-Dump

  Alt 17. Nov 2014, 01:07
Du benötigst also etwas um Scripts ausführen zu können.

Diese Scripts (Updates, Erweiterung) sind allerdings abhängig von der aktuellen Datenbank und Struktur Version.

Dafür baut man sich ein Interface um diese Informationen zu bekommen und eben Scripts auszuführen.
Delphi-Quellcode:
TVersionInfo = record
  Major, Minor, Release, Build : word;
end;

TExtension = record
  Name : string;
  Version : TVersionInfo;
end;

IDatabaseUpgrader = interface
  // firebird, mysql, sqlite, ...
  function getEngineName : string;
  function getEngineVersion : TVersionInfo;
  function getVersion : TVersionInfo;
  function getExtensionCount : integer;
  function getExtension ( index : integer ): TExtension;
  procedure ExecuteScript ( const AScript : string );
end;
Das implementiert man nun für die jeweils verwendete Zugriffskomponente und kann sich nun ein universelle Klasse schreiben um verfügbare Updates und Erweiterungen zu ermitteln und diese auch zu installieren.

Die Scripts selber müssen allerdings auch dafür sorgen, dass die entsprechenden Informationen in der DB gespeichert werden, was dann aber nicht mehr das Problem sein sollte.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat