Jeg blev træt af at se denne fejl ved brug af South, og ja, skift til PostgreSQL har forvist det!
Mysql2postgres-appen, skrevet i Ruby, foreslået i kommentarerne ovenfor, virkede ikke for mig (den ville køre, udlæse nogle detaljer til skærmen, men ikke kopiere nogen rækker af data, for mig). Ikke sikker på hvorfor. Men der er gerne en Python-omskrivning af det, der fungerede upåklageligt (til sidst for mig):
http://pypi.python.org/pypi/py-mysql2pgsql
Den eneste gotcha jeg fandt var:
Til at begynde med troede jeg, at det ville være sikrest at opsætte tabellerne i PostgreSQL db via en syncdb og derefter kun migrere dataene. Jeg prøvede dette, men tabellerne er migreret henover i alfabetisk rækkefølge, og dette overtræder begrænsningerne for fremmednøgle for nogle tabeller (rækker vedrører rækker i tabeller, der endnu ikke er importeret).
Jeg prøvede derefter en struktur+datamigrering. Dette migrerede fint, men jeg stødte på nogle problemer i Django bagefter, især administratorsiden. Det så ud til, at migreringsscriptet havde skabt nogle forskellige tabelbegrænsninger end hvad Django ville have.
Jeg løste dette ved at hacke mysql2pgsql-scriptet for at respektere rækkefølgen af tabeller givet i yaml-konfigurationen only_tables
egenskab... og derefter lave en syncdb + kun data-migrering. Ved forsøg og fejl blandede jeg mig rundt i rækkefølgen af tabellerne til min migrering, indtil de alle blev importeret med succes.
OPDATERING:
Min pull-anmodning til hacket beskrevet ovenfor blev accepteret, så du kan gøre dette nu fra hovedversionen:
https://github.com/philipsoutham/py-mysql2pgsql