Ticket #953 (closed defect: wontfix)
Dependency on information_schema in MySQL backend
|Reported by:||kevin@…||Owned by:||andrew|
MySQL4 doesn't have information_schema. Both 7.3 and hg tip use information_schema in figuring out constraints, which come into play when you try to run any migration that e.g. affects a foreign key.
Additionally, the error MySQL throws is (unsurprisingly) rather unhelpful:
SELECT command denied to user ....... for table 'key_column_usage'
The ideal solution would of course be to use fallbacks like Django itself (for instance, the introspection code has the information_schema SELECT is in a try...catch, with a fallback to SHOW CREATE TABLE). That might be more effort than it's worth to support an edge case in a fairly old database, though.
Failing that, a reasonable fallback would be to at least detect this condition and give the user a readable explanation (basically the same try...catch but without the SHOW CREATE TABLE parsing) - at least that would help understand what's happening (and then probably do the migration by hand and fake it, or implement some other workaround).