Cтранная логика Django?
- Зачем менять тип таблиц средствами South, когда вы это уже успешно проделывали SQL-скриптом?
- Коли вы меняли тип всех таблиц и всё работало, в чём состоит вопрос и проблема?
Думается, достаточно перевести все таблицы вручную в InnoDB, и больше проблем не будет.
Да, можно. Создаем пустую миграцию, в которой пишем db.execute("что угодно")
Но так как эта операция не легкая и потенциально опасная, то лучше поменять старые миграции с учетом выставления нужного типа, а на текущей базе провести изменения руками. Таким образом текущие данные будут в InnoDB и новые инстансы проекта будут также в InnoDB