Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Leere Vorgabedatenbank

  Alt 3. Mai 2017, 10:05
Ich nehme das Freeware-Tool meines Vertrauens "SQLite Expert" und lege damit meine gewünschte Struktur an. Zeitgleich kann er mir ein Buildscript daraus generieren, also wie man diese Tabellen und Regeln per SQL anlegen würde. Das kann aber sicherlich jedes andere Tool auch.

Wenn beim Programmstart die Datenbank nicht existiert nimmt das Programm dieses hinterlegte Skript und führt es aus. Dann habe ich meine erwartete Tabellenstruktur und bin fertig. Optional könnte dieses Buildskript schon Beispieldaten enthalten wenn man z.B. einen Demo-Modus haben möchte...


Praktisch habe ich eine Variable mustRunBuildScript die im OnBeforeConnect-Event der Verbindung auf True gesetzt wird wenn die Datenbank nicht existiert. Im OnAfterConnect-Event wird dann, wenn die Variable true ist, das Buildscript über TFDConnection.ExecSQL(..) ausgeführt.

Delphi-Quellcode:
procedure TStorageModuleSqlite.runBuildScript();
const
   fileName = 'buildscript_sqlite.sql';
var
   filePath: String;
begin
   filePath := TPath.Combine('...', fileName);
   connection.ExecSQL( TFile.ReadAllText(filePath) );
   mustRunBuildScript := False;
end;

Geändert von Der schöne Günther ( 3. Mai 2017 um 10:08 Uhr)
  Mit Zitat antworten Zitat