Hallo zusammen,
ich muss ein MySQL-Schema nach Postgres konvertieren.
Dafür habe ich jetzt [1] ausgeführt. Das funktioniert zumindest soweit,
als dass ein Dump rauskommt, der wohl zumindest syntaktisch korrekt ist.
Allerdings bekomme ich beim Einspielen in Postgres folgenden Fehler:
ERROR: there is no unique constraint matching given keys for referenced
table "..."
Grund ist anscheinend, dass der generierte Postgres-Schemadump die
Tabellen streng alphabetisch abhandelt und dabei die Indizes und
Fremdschlüssel anlegt. Das führt dann dazu, dass die
Fremdschlüsselbedingung erzeugt wird, wenn der Index in der
Schlüsseltabelle noch gar nicht existiert.
Das ist natürlich selten dämlich ... Vor allem würde es ja schon
ausreichen, erst alle Indizes und dann alle Fremdschlüsselbeziehungen zu
erstellen, da braucht man ja nichtmal einen Abhängigkeitsbaum oder so zu
erstellen.
Die Fragen nun:
* Kann vielleicht jemand ein besseres Tool für die Konvertierung
MySQL->Postgres empfehlen?
* Irgendwelche Tipps, wie man das vorhandene Schema möglichst einfach
und automatisiert nachbearbeiten kann?
Viele Grüße,
Jens
[1]
http://pypi.python.org/pypi/py-mysql2pgsql