The code was just to reproduce the exact SQLA error by doing what alembic and 
SQLA are doing and additionally determining when the garbage collector runs. 
The theory is that garbage gets collected somewhere in between 
list(_mapper_registry) in configure_mappers and what happens in 
_process_dependent_arguments. The classes aren’t GC’ed since they are in use by 
the list statement, but by the time the callable is called, the module data has 
gone.

I don’t consider this a bug in SQLA nor alembic individually. However, using 
the combination of the two has shown to be problematic. The randomness of the 
problem made it especially difficult to diagnose. This is probably such an edge 
case that it’s not worth spending any more time on. I’m happy I understand 
what’s going on now at least.

Thanks,
Will

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to