Ticket #1030 (closed defect: fixed)
00074f0d28e7 introduces a bug in MySQL
| Reported by: | klaas@… | Owned by: | andrew |
|---|---|---|---|
| Priority: | major | Milestone: | 1.0 |
| Component: | commands | Version: | mercurial |
| Keywords: | Cc: |
Description
https://bitbucket.org/andrewgodwin/south/changeset/00074f0d28e7 introduces a bug:
There is no South database module 'south.db.mysql' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
The issue is not yet present in
https://bitbucket.org/andrewgodwin/south/changeset/64fdcc52cd01
Haven't looked into it any deeper than drilling down to the offending commit
Attachments
Change History
comment:2 Changed 16 months ago by andrew
- Status changed from new to infoneeded
- Version changed from unknown to tip
- Milestone set to 1.0
comment:3 Changed 16 months ago by nick@…
- Status changed from infoneeded to assigned
I am also getting "There is no South database module 'south.db.postgresql_psycopg2' for your database.", despite South working up to about a week ago. If I comment out South from the INSTALLED_APPS
In [1]: import south.db.postgresql_psycopg2
There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
---------------------------------------------------------------------------
SystemExit Traceback (most recent call last)
<ipython console> in <module>()
south/south/db/__init__.py in <module>()
72 ) % (module_name,)
73 )
---> 74 sys.exit(1)
75
76 # Finally, to make old migrations work, keep 'db' around as the default database
SystemExit: 1
Type %exit or %quit to exit IPython (%Exit or %Quit do so unconditionally).
comment:4 follow-up: ↓ 5 Changed 16 months ago by andrew
- Status changed from assigned to infoneeded
Please post the traceback of the actual error, rather than the SystemExit? call.
comment:5 in reply to: ↑ 4 Changed 16 months ago by nick@…
- Status changed from infoneeded to assigned
Replying to andrew:
Please post the traceback of the actual error, rather than the SystemExit? call.
This is all I can get out of it, with South added to INSTALLED_APPS nothing will work. No shell, no runserver, no sync, no migrate. Everything just says "There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS." in a single line and fails.
comment:6 follow-up: ↓ 7 Changed 16 months ago by andrew
Can you try importing the module from a python shell?
comment:7 in reply to: ↑ 6 Changed 16 months ago by nick@…
Replying to andrew:
Can you try importing the module from a python shell?
That's what I tried above, using IPython. It just goes to the system exit call straight away.
Nick
comment:8 follow-up: ↓ 9 Changed 16 months ago by andrew
- Status changed from assigned to infoneeded
Well there's not much I can do without more debugging info - I've tested locally and (obviously) it all works fine here. What version of Django are you using?
comment:9 in reply to: ↑ 8 Changed 16 months ago by Nick Jones <nick@…>
- Status changed from infoneeded to assigned
Replying to andrew:
Well there's not much I can do without more debugging info - I've tested locally and (obviously) it all works fine here. What version of Django are you using?
Replying to andrew:
Well there's not much I can do without more debugging info - I've tested locally and (obviously) it all works fine here. What version of Django are you using?
I've just dropped into the code and taken out the try statement and have a (much) more useful debug:
src/south/south/db/generic.py", line 16, in <module>
from django.utils.functional import cached_property
ImportError: cannot import name cached_property
According to code.djangoproject.com, cached_property will not appear until Django 1.4. Apologies if I missed that as a requirement for this version.
Nick
comment:10 Changed 16 months ago by andrew
- Status changed from assigned to closed
- Resolution set to fixed
Ah, it's an import I missed during a code review. Have pushed a change that fixes it.
comment:11 Changed 16 months ago by Nick Jones <nick@…>
Brilliant, thanks Andrew

Could you please run this in ./manage.py shell:
"import south.db.mysql"
and paste the traceback?