![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBDAC
Update Metadaten SQL
Hallo,
ich erzeuge eine FB Datenbank über einen von IBExpert ausgegebenen Script. Jetzt möchte ich bei Programmneustart diesen Script mit der aktiven Datenbank vergleichen und die vorhandene Datenbank updaten. (Es können nur Felder hinzukommen oder die Größe von Feldern wird geändert.) Ehe ich selbst anfange zu programmieren, kennt wer eine fertige Lösung? IBExpert z.B. vergleicht 2 Datenbanken und erzeugt daraus einen Differenzscript. IbExpert möchte ich bei dem Anwender aber nicht voraussetzen. Mit Gruß Peter |
Re: Update Metadaten SQL
Vergleiche die Systemtabellen
|
Re: Update Metadaten SQL
Zitat:
Die Datenbank ist auf dem User-Rechner nur einmal da, da gibt es keine zwei Systemtabellen zum Vergleich. Meine Frage ist, ob jemand ein Tool kennt, das auch etwas kosten darf, was mir einen Differenzscript zwischen aktueller Datenbank und einen Referenzscript erzeugt oder die Datenbank gleich modifiziert. Gruß Peter |
Re: Update Metadaten SQL
|
Re: Update Metadaten SQL
Hallo Hanspeter
für IBExpert existiert ein Plugin IBDatabase Comparer. Womöglich hilft Dir dieser weiter. Shalom Manfred |
Re: Update Metadaten SQL
Müsste dazu aber nicht IBExpert auch beim Kunden installiert sein?
|
Re: Update Metadaten SQL
Danke.
LiquiBase schaue ich mir mal an. Ich habe IBExpert als Vollversion. Da ist das Plugin dabei. Habe ich auch schon verwendet. Da werden zwei Datenbanken vergleichen und ein Differenzscript erstellt. Entweder nur für die Metadaten oder für Metadaten und Userdaten. Der Hintergrund meiner Frage ist übrigens nicht uninteressant. Ich habe FB Datenbanken bisher aus dem Programm heraus erzeugt. Mit D2009 aber Probleme mit der Anzahl der Proceduren und Strings in einem Unit bekommen. Jetzt habe ich auf Neuanlage über einen Script umgestellt. Diesen liefere ich auch als Update aus. Der Script wird von IBExpert erzeugt und hat in der 2. Quellzeile einen Standardeintrag. Dieser enthält Datum und Urzeit der Erzeugung. Dieses Datum schreibe ich in die Datenbank. Bei jedem Neustart lese ich aus dem Script diesen Zeitstempel aus und vergleiche ihn mit dem Datenbankeintrag. Ist der Script neuer soll automatisch ein Update erfolgen. Gruß Peter |
Re: Update Metadaten SQL
Hallo,
das macht man aber etwas anders. Führe eine DB-Nummer mit. Die Nummer sagte dir, welche Struktur die Tabelle hat. Jede neue Sache (Tabelle, Index usw.) bekommt eine neue höhere Nummer. Du liest die alte aus, und führst dann nur die "Neu"-Änderungen aus, z.B. über eine TXXScript-Komponente. Vorteil: Klappt mit jedem alten DB-Stand. Heiko |
Re: Update Metadaten SQL
Zitat:
Die Idee von Peter ist dann schon besser. Da gab es vor einiger Zeit einen Thread diesbezüglich: ![]() Shalom Manfred |
Re: Update Metadaten SQL
Zitat:
Die Datenbank wird etwa 4 Wochen vor einer Veranstaltung angelegt und 2 Wochen nach der Veranstaltung archiviert. Eine archivierte Datenbank muss 2 Jahre aufbewahrt werden und wird nur im Ausnahmefall nochmals benötigt. Oft kommt es vor, das aufgrund von Regeländerungen eine schnelle Änderung wärend der Veranstaltung notwendig ist. Dann schicke ich das geänderte Script. Alles andere muss automatisch ablaufen. Bei alten Datenbanken, welche nochmals benötigt werden, habe ich einen anderen Weg gewählt. Ich gebe die gesamte Datenbank als XML Dateien aus. Diese kann ich dann bei Bedarf in eine Datenbank mit neuer Struktur einlesen. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz