Sorry about the delayed response here, I've been really busy recently.
So, the error is saying that there's no staff worker with the ID you
specified. I presume you're using the admin interface, which means that
it's likely there _is_ a staff worker with the right ID - are you also
using the InnoDB backend to MySQL?
It would also be worth seeing what records are in the staff worker
table, and what the query Django is trying to run is (including the
parameters) - if you're in debug mode, you can usually get this from
"Local Vars" in the last few frames in the traceback.
Andrew
Never discount option b) when working with MySQL, I've it happen to me
before...
That constraint _does_ look valid to me. I'd suggest you try the same
thing on a fresh database, using syncdb --all to force even migrated
apps to use syncdb, and not south, and see if it fails there.
If it does, it's Not My Problem. If it works, as it probably will do, it
would be great if you could get the description of the same/similar
constraint in the new database, post both it and the old one back here,
and we can ponder what's going on.
Andrew
It seems like renaming the constraints would be the best fix, since
then everything would be as south expects it to be. Might be a simple
python/SQL script to do this.
I'm far away from this problem now, having simply dropped the
constraints and moved on. But this will be really useful for the next
time I run into it.
And if anyone is still running into it, this would be my strategy for fixing it:
-find a way to list all constraints in mysql
-compare those to the naming scheme that south expects to see if the
wrong app_name is being used
-make a script that will rename all constraints with the old app_name to the new
-James