![]() |
Datenbank: Firebird • Version: 2.x • Zugriff über: IBDAC
Firebird erstellreihenfolge
Nabend,
ich programmiere eine Software, die mit einer Firebird-Datenbank als Backend arbeitet... Wenn ich jetzt Updates dieser Software herausgebe, können auch Änderungen an der Datenbank erfolgen. Diese müssen beim Anwender mitaktualisiert werden. Jetzt dachte ich mir, dass ich auf dem Entwicklungsrechner zuerst die META-Daten in eine XML-Datei exportiere, die XML-Datei mit ins Update packe und bei der Update-Installation diese XML-Datei mit der Anwender-Datenbank vergleichen lasse. so in etwa sollte das aussehen:
SQL-Code:
ist nur eine grobe Übersicht...
<referenz>
<generators/> <procedures/> <triggers/> <domains/> <tables> <table name="kunden"> <field name="kundennr"/> </table> </tables> </referenz> Jetzt meine Frage: Gibt es in Firebird eine bestimmte Reihenfolge, in der ich die Vergleichsprüfung durchlaufen lassen muss? Also erst die Domains, bevor ich entsprechende Felder anlegen kann, das leuchtet ja schon sein... Aber gibt es da eine entsprechende Übersicht? |
Re: Firebird erstellreihenfolge
Du musst die Abhängigkeiten der tabellen betrachten.
Ich würde die Version des Datenschemas in der DB ablegen und dann Updateskripte von Version zu Version mitliefern. |
Re: Firebird erstellreihenfolge
Hmm in wieweit könnte ich das denn automatisieren?
|
Re: Firebird erstellreihenfolge
Du hättest einen definierten Zustand. mit deiner Lösung müsstest du ja alle Änderungen vom Ist-Zustand zum Soll-Zustand ermittlen ( je nach update stand verschieden). Bei festen Versionen würden dann das Update Schritt für Schritt definiert funktionieren:
Istversion 3 -> Sollversion 6 3 -> 4 -> 5 -> 6 |
Re: Firebird erstellreihenfolge
Ja, das ist richtig, hab ich auch verstandan, hört sich gut an :)
nur bevor ich das Update herausgebe, muss ich ja eventuell ein neues updatescript erstellen. muss ich das dann immer manuell selbst schreiben, oder gibt es eine einfache Möglichkeit, wie ich dieses nur für die aktuelle Änderung automatisch erzeugen lassen kann? Möchte das möglichst automatisiert und komfortabel machen... |
Re: Firebird erstellreihenfolge
Es gibt Tools, die dir 2 Datenbanken vergleichen
Es ist aber auch eine Frage, wie sehr sich das Schema verändert. Werden nur Felder hinzugefügt, kann man das gut mit einem einfachen Skript an der vorhandenen DB durchführen ( vorher natürlich Sicherung anlegen). Ändert sich die Struktur ist es u.U. besser eine neue Datenbank zu erzeugen und dann per Skript die Daten von der alten in die neue Datenbank zu transferieren. |
Re: Firebird erstellreihenfolge
Zitat:
Viele Grüße, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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 by Thomas Breitkreuz