![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos
Firebird Datenbank struktur vergleichen
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 |
AW: Firebird Datenbank struktur vergleichen
Moin...8-)
im IBExpert kannst du die Struktur 2er Datenbanken vergleichen und dir ein Differenzscript erstellen lassen... besser als selbst. :wink: Zitat:
|
AW: Firebird Datenbank struktur vergleichen
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. |
AW: Firebird Datenbank struktur vergleichen
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 :) |
AW: Firebird Datenbank struktur vergleichen
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 |
AW: Firebird Datenbank struktur vergleichen
Hallo,
auf der Suche bin ich auf anliegndes Tool Interbase Restructurer gestoßen. ![]() und hier zum Source ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 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