Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Vergleich von Tabellen/Felder zweier MySQL-DB (https://www.delphipraxis.net/126472-vergleich-von-tabellen-felder-zweier-mysql-db.html)

blawen 25. Dez 2008 11:06


Vergleich von Tabellen/Felder zweier MySQL-DB
 
Hallo Zusammen

Ich habe eine Ausgangsdatenbank, bei welcher Startdatensätze (PLZ, Ort, u.ä.) hinterlegt sind.
Im Laufe der Projektentwicklung arbeite ich aber nicht mit dieser „Original“-DB, sondern mit einer Kopie davon („Entwicklungs“-DB).

Ihr ahnt es, im Verlaufe der Zeit wurde die „Entwicklungs“-DB für Versuche verwendet und es wurde die eine oder andere Modifikation vorgenommen.
Ich habe zwar die „Original“-DB regelmässig angepasst, aber ich bin mir nicht 100%ig sicher, ob ich auch wirklich jede Änderung übernommen habe.

Ist Euch eine einfache Möglichkeit (z.B. Tool) bekannt um die Tabellen und die DB-Felder (Name, Grösse, Typ,…) miteinander zu vergleichen und die Unterschiede auszugeben? (In meinem Fall geht es um ca. 100 Tabellen)

haentschman 25. Dez 2008 11:34

Re: Vergleich von Tabellen/Felder zweier MySQL-DB
 
Hallo...

mit einem Tool für MySQL kann ich leider nicht dienen...

Ich hatte ähnliche Probleme (53 Tabellen). Das habe ich mir aus dem Kreuz geschafft... :cheer:

und zwar:
- ich speichere die Datenbankstruktur incl. Indizies in einer Tabelle (in meinem Falle Firebird)
- aus der Tabelle erzeuge ich eine XML Datei
- beim Update geht das Programm die XML Datei durch und paßt die Datenbank an (Tabellen hinzu, Felder hinzu, Felder größer etc.)
--> kann man auch beim Programmstart machen
- da die gleiche Quelle vorliegt ist dann die Designdatenbank und die richtige Datenbank strukturell identisch.
- da ich auch über diese XML die Datenbank beim ersten Start erstellen lasse habe ich keine Probleme mehr mit der Struktur.
- zusätzlich hat die Datenbank eine Tabelle wo die Versionsinfo des Programmes hinterlegt ist. Damit läßt sich leicht unterscheiden, ob die Programmversion zur Datenbank und deren Struktur paßt.

Fazit: ich nehme keinerlei manuelle Veränderungen mit Tools an der Datenbankstruktur vor sondern lasse das die Anwendung machen.

hoffe für die Zukunft Denkanstöße gegeben zu haben... :hi:

mkinzler 25. Dez 2008 11:35

Re: Vergleich von Tabellen/Felder zweier MySQL-DB
 
http://www.starinix.com/sqlcompare02.htm
http://www.clevercomponents.com/prod...dbcomparer.asp

Memo 25. Dez 2008 12:47

Re: Vergleich von Tabellen/Felder zweier MySQL-DB
 
Lade Dir mal die Testversion von Navicat runter.
Richte Deine beiden Server-Verbindungen ein und dann unter Tools-Structure Synchronization kann du Deine DB's vergleichen und gegebenenfalls anpassen lassen.

blawen 25. Dez 2008 13:32

Re: Vergleich von Tabellen/Felder zweier MySQL-DB
 
Lieben Dank Euch Dreien :-D

@Haentschman
Von der Art her mache ich es im Moment so. Dies führte bei mir zum beschriebenen Problem. Es ist eben "einfacher", die Test-DB zu modifizieren, als zuerst die Quelle anzupassen und das ganze neu einzuspielen. Ebenso würde man sämtliche Testdaten verlieren.

@mkinzler
Starinix sieht auf den ersten Blick ganz gut aus.
Nach Eingabe der Verbindungsdaten habe ich allerdings nur eine Fehlermeldung im Sinne "keine Verbindung zum Server" erhalten.

Clevercomponents sieht soweit auch gut aus.
Allerdings müsste ich zuerst noch die Testoberfläche programmieren.
Testen werde ich es auf jeden Fall noch und wenn ich auf einen grünen Zweig komme, werde ich es vermutlich in das Projekt integrieren :-)

@Memo
Dein Vorschlag ist schlicht perfekt! Navicat entspricht vollkommen meinen Erwartungen :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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