AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird erstellreihenfolge
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird erstellreihenfolge

Ein Thema von Morphie · begonnen am 3. Nov 2009 · letzter Beitrag vom 3. Nov 2009
Antwort Antwort
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:13
Datenbank: Firebird • Version: 2.x • Zugriff über: IBDAC
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:
<referenz>
  <generators/>
  <procedures/>
  <triggers/>
  <domains/>
  <tables>
    <table name="kunden">
     <field name="kundennr"/>
   </table>
  </tables>
</referenz>
ist nur eine grobe Übersicht...

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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:23
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#3

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:24
Hmm in wieweit könnte ich das denn automatisieren?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:28
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
Markus Kinzler
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#5

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:34
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...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 20:35
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.
Markus Kinzler
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Firebird erstellreihenfolge

  Alt 3. Nov 2009, 21:08
Zitat von mkinzler:
Es gibt Tools, die dir 2 Datenbanken vergleichen
IBExpert ist auch hier sehr empfehlenswert: es erzeugt auf der Basis der Unterschiede ein Skript, in dem alle Statements für die notwendigen Metadatenänderungen in der richtigen Reihenfolge angeordnet (und sogar kommentiert) sind. Eines der am meisten genutzten Features bei mir, und funktioniert sehr gut. Um die Skripte auch ohne IBExpert auszuführen gibt es m.W. ein Kommandozeilentool.

Viele Grüße,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz