AGB  ·  Datenschutz  ·  Impressum  







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

Firebird Datenbank struktur vergleichen

Ein Thema von waldforest · begonnen am 3. Okt 2013 · letzter Beitrag vom 22. Dez 2013
Antwort Antwort
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#1

Firebird Datenbank struktur vergleichen

  Alt 3. Okt 2013, 09:59
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos
Hallo,
ich habe eine Anwendung geschrieben, welche über Zeos auf eine Firebirddatei zugreift.
Neben ca. 40 Tabellen beinhaltet diese einige Trigger und Proceduren, etc.

Im Laufe der Zeit haben sich Änderungen der Struktur, sowie bei den Feldern, Indizes, Trigger, Proceduren ergeben.

Ich suche nun eine Möglichkeit die neue Datenbank mit den bisherigen abzugleichen und anzupassen.
Bisher habe ich dies immer manuell durchgeführt, ist aber entsprechend zeitaufwendig.

Da ich das Thema hobbymäßig betreibe kommt eine kommerzielle Anwendung nicht in Frage.
Gerne, auch aus Lernzwecken, würde ich so etwas selber angehen.

Hierzu brauche ich ein Starthilfe, Empfehlung, wie so etwas angegangen wird und würde mich über ein paar Tipps freuen.

mfg
mfg wf
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firebird Datenbank struktur vergleichen

  Alt 3. Okt 2013, 10:29
Moin...

im IBExpert kannst du die Struktur 2er Datenbanken vergleichen und dir ein Differenzscript erstellen lassen... besser als selbst.
Zitat:
Da ich das Thema hobbymäßig betreibe kommt eine kommerzielle Anwendung nicht in Frage.
...Personal Version. Bin mir allerdings jetzt nicht sicher ob diese Funktion da auch enthalten ist.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Firebird Datenbank struktur vergleichen

  Alt 3. Okt 2013, 10:36
Ich arbeite selten mit Firebird, aber klassisch erzeugt man jeweils ein DDL Script von den betroffenen Systemen und verlgeicht diese mit dem Diff Tool seiner Wahl.
Für Firebird wäre das vermutlich
>isql -o <outputfile.sql> -x -u <user> -p <pw>
Difftools kennst Du sicher.
Gruß, Jo
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Firebird Datenbank struktur vergleichen

  Alt 3. Okt 2013, 10:38
Wo liegt das Problem denn genau, in der Ermittlung der Unterschiede oder in der Aktualisierung der Datenbankmetadaten? Da sich die Unterschiede ja (wenn man von versehentlichen Änderungen in der Zieldatenbank einmal absieht) aus den Änderungen in der Masterdatenbank ergeben, sollte es möglich sein, auf den Vergleich zu verzichten und "nur" die notwendigen DDL Befehle (alter table ...) in einem Updatetool zu hinterlegen.

In der Praxis wird wahrscheinlich auch eine Datenbankversionsnummer in einer Tabelle abgelegt, die man vor dem Update prüft. Dann "weiss" das Programm, welche Differenzen bestehen und wendet die DDL Befehle an. Falls alles funktioniert hat, wird die Versionsnummer aktualisiert.

Die Herausforderungen stecken aber wie immer im Detail, zum Beispiel kann es sein dass die Änderungen per DDL ein COMMIT (der aktuellen Transaktion) erfordern. Und Fehlerbehandlung ist wie immer spannend, wenn ein DDL Befehl scheitert, hat man einen 'undefinierten' Zustand der Metadaten.

Happy Coding
Michael Justin
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Firebird Datenbank struktur vergleichen

  Alt 3. Okt 2013, 10:56
Zeos bietet eine TZSQLMetadata Komponente.

Diese kannst du benutzen, um die derzeitigen Strukturen, der Tabellen, Indizes, StoredProcedures, Trigger etc. auszulesen. Den eigentichen vergleich, jedoch, mußt du dennoch per Hand durchführen... Es sei denn, schau mal in die PM
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Firebird Datenbank struktur vergleichen

  Alt 22. Dez 2013, 08:45
Hallo,
auf der Suche bin ich auf anliegndes Tool Interbase Restructurer gestoßen.
http://sourceforge.net/projects/ibrest/

und hier zum Source
http://sourceforge.net/projects/ibre...d?source=files
mfg wf

Geändert von waldforest (22. Dez 2013 um 09:05 Uhr)
  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 13:08 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