It seems it must be a bug in South, to fix it, I did the following:
- Rolled back to 0004, the problem was at 0006
- Deleted 0006
- Ran ./manage schemamigration app --auto --update , updating 0005
- Migrated to 0005
The table was made in 0005, don't know if this is significant. It may be you need to migrate backwards to the migration that created the table then update that migration so it can detect the schema correctly. To quote South's primary author Andrew Godwin, discussing primary keys in South:
... that codebase has moved several grown men to tears
It appears the author is aware of the issues.