Datenbanken vergleichen

Datenbanken vergleichen

am 24.04.2007 09:30:38 von Stefan+Usenet

Hallo,

gegeben sind mehrere Instanzen einer Datenbank. Ueber die Jahre hinweg
wurde die dazugehoerige Applikation, und damit auch das Datenmodell
immer wieder erweitert. Die Pflege erfolgte wohl meist von Hand - und
das macht jetzt Probleme, denn es gibt gelegentlich subtile Unterschiede
in den Tabellenbeschreibungen: fehlende oder doppelte Indizes,
unterschiedliche Feldlaengen, ganz selten einmal auch abweichende Spalten.

Mit "mysqldump -d" koennte man sich einfach alle Strukturen ausgeben
lassen und diese dann mit diff vergleiche - wenn, ja wenn die Ausgabe
in irgendeiner normalisierten Form stattfaende. Dummerweise ist die
Anzeigereihenfolge der Spalten aber abhaengig von der Reihenfolge, in
der diese angelegt worden sind.

Wie kann man am einfachsten zwei Datenbankstrukturen auf Identitaet
vergeliche (und, so das nicht der Fall ist, die Abweichungen finden)?

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Stefan - die listigste Entscheidung der Nacht!
(Sloganizer)

Re: Datenbanken vergleichen

am 24.04.2007 10:51:14 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Datenbanken vergleichen

am 24.04.2007 13:20:49 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Datenbanken vergleichen

am 24.04.2007 13:36:22 von Stefan+Usenet

On Tue, 24 Apr 2007 13:20:49 +0200 Andreas Kretschmer wrote:
> > Möglicherweise tut pgdiff auch für MySQL:
> > http://pgdiff.sourceforge.net/

> Falls jemand jetzt wieder wegens PG nörgeln will: bitte zuerst oben
> genannte Seite _genau_ durchlesen...

Gerade die Minute wollte ich Dir fuer die Seite danken, insbesondere
fuer den Link ganz links unten :-). Das tut wirklich hoechst exakt
und flexibel genau das, was ich gesucht habe, toll!

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

1998 Jahre seit der Schlacht im Teutoburger Wald! 1998 Jahre ohne
Stefan. Bettelt und hoppelt euch. (Sloganizer)

Re: Datenbanken vergleichen

am 24.04.2007 14:46:25 von Joachim Durchholz

Andreas Kretschmer schrieb:
> Falls jemand jetzt wieder wegens PG nörgeln will: bitte zuerst oben
> genannte Seite _genau_ durchlesen...

Du hättest natürlich auch direkt
http://www.adamspiers.org/computing/mysqldiff/
verlinken können.
Aber dann wäre natürlich keine Schleichwerbung für PG mehr möglich
gewesen...
.... nichtsdestotrotz vielen Dank dafür, mysqldiff war mir bisher nicht
bekannt.

Jo

Re: Datenbanken vergleichen

am 24.04.2007 15:10:37 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Datenbanken vergleichen

am 24.04.2007 15:55:44 von Stefan+Usenet

On 24 Apr 2007 11:36:22 GMT Stefan Froehlich wrote:
> [mysqldiff] tut wirklich hoechst exakt
> und flexibel genau das, was ich gesucht habe, toll!

Achtung: bei groeberen Unterschieden in der Datenbankstruktur waren
bei mir einige "DROP TABLE" in der Ausgabe enthalten, die man besser
nicht durchfuehren sollte - alle anderen Modifikationen wurden aber
korrekt erkannt, nach Angleichen der Strukturen ist das Problem dann
verschwunden. Ein wenig Vorsicht ist also bei automatisierter
Verarbeitung angebracht (wenn ich es schaffe, das Problem zu
reproduzieren, melde ich das natuerlich als Bug).

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Stefan - Versuchung im Alltag des Smogs!
(Sloganizer)