On Sat, Jan 17, 2009 at 3:40 AM, Michael Bayer <[email protected]> wrote:
> On Jan 16, 2009, at 6:13 PM, Tomasz Nazar wrote:
>
>>
>> Do I have control over this behaviour? Or am I doing sth wrong?
>> Thanks for any help..Tomasz
>
>
> you can !   its an exposed internal API but its pretty stable for
> now.  Build a SessionExtension like this:
>
> from sqlalchemy.orm.interfaces import SessionExtension
>
> class SetupDependencyExt(SessionExtension):
>     def before_flush(self, session, flush_context, instances):
>         flush_context.register_dependency(class_mapper(A),
> class_mapper(B))
>
> where "A" is the mapper that should execute first.   then configure
> that extension with your sessionmaker(extension=SetupDependencyExt()).

Hi Mike,
I'm migrating from 0.4 to 0.6 and this API has been removed - at least
looks like this. Is there any replacement?
I'd still like SQLA to generate some INSERT statements before others,
as it looks SQLA0.4 could'nt handle mappers/relations/dependencies I
have...
This code worked well for me till now...

Code I have is:

sessionmaker(...extension=SetupDependencyExt())

class SetupDependencyExt(SessionExtension):
    
"""http://groups.google.com/group/sqlalchemy/browse_thread/thread/2420cbf64ff5a74f
    For controlling order of inserts generation for dependent children
by relation
    """
    def before_flush(self, session, flush_context, instances):
        flush_context.register_dependency(mapper_conference_lang,
mapper_conference_participant)
        flush_context.register_dependency(mapper_conference_lang,
mapper_conference_interpreter)

AttributeError: 'UOWTransaction' object has no attribute 'register_dependency'

I'd really appreciate any help, as I can't move forward without it.
Thanks - Tomasz


-- 
_i______'simplicity_is_the_key'__________tomasz_nazar
_ii____'i_am_concern_oriented'________________JKM-UPR
_iii__'patsystem.sf.net'___________________linux_user
_'aspectized.com'___________________________prevayler

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to