Омръзна ми да виждам тази грешка при използване на South и да, превключването към PostgreSQL я прогони!
Приложението mysql2postgres, написано на Ruby, предложено в коментарите по-горе, не работи за мен (ще работи, извежда някои подробности на екрана, но не копира никакви редове с данни за мен). Не знам защо. Но с удоволствие има пренаписване на Python за него, което работи безупречно (в крайна сметка за мен):
http://pypi.python.org/pypi/py-mysql2pgsql
Единственият проблем, който открих, беше:
Първоначално мислех, че би било най-безопасно да настроя таблиците в PostgreSQL db чрез syncdb и след това да мигрирам само данните. Опитах това, но таблиците се мигрират по азбучен ред и това нарушава ограниченията на външния ключ за някои таблици (редовете се отнасят до редове в таблици, които все още не са импортирани).
След това опитах миграция на структура + данни. Това мигрира добре, но след това срещнах някои проблеми в Django, особено в администраторския сайт. Изглежда, че скриптът за миграция е създал някои различни ограничения на таблицата от това, което Django би имал.
Реших това, като хакнах скрипта mysql2pgsql, за да спазвам реда на таблиците, даден в конфигурацията на yaml only_tables
свойство... и след това извършване на syncdb + миграция само на данни. Чрез опит и грешка разбърках подредбата на таблиците за моята миграция, докато всички те се импортират успешно.
АКТУАЛИЗАЦИЯ:
Моята заявка за изтегляне за описания по-горе хак беше приета, така че можете да направите това сега от основната версия:
https://github.com/philipsoutham/py-mysql2pgsql