i've modified all relations to be all,delete-orphan and now it does add them all - as your scoped session does - and then complains:
Deleting owner BEGIN DELETE FROM friendship WHERE friendship.id = %(id)s [{'id': 1L}, {'id': 2L}] DELETE FROM owner WHERE owner.id = %(id)s {'id': 1L} DELETE FROM dog WHERE dog.id = %(id)s [{'id': 1}, {'id': 2}] ROLLBACK Traceback (most recent call last): File "f.py", line 138, in <module> session.flush() ... raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) sqlalchemy.exc.IntegrityError: (IntegrityError) update or delete on table "dog" violates foreign key constraint "friendship_dog_id_fkey" on table "friendship" DETAIL: Key (id)=(1) is still referenced from table "friendship". 'DELETE FROM dog WHERE dog.id = %(id)s' [{'id': 1}, {'id': 2}] well... u have other friendships referencing that same dog/s. so i tried this and that and if the friendship.dog has no cascades at all (i.e. just default), then all seems ok - owner and friendships deleted, dogs not. i guess u want when 2nd owner gets deleted to delete the orphan dogs? it's not in the src... maybe a better testcase would be of help - asserting whats in db and what should not be, before and after. back on the initial question, mapperExt come to play too late in session. u may try sessionExt hooks... or other/earlier mapperExt hook... eventualy. svil On Thursday 27 November 2008 10:30:04 David Harrison wrote: > Postgres is the intended deployment platform so it really does need > to work on Postgres, that said last time I dug into this I found > that SQLite is less strict on enforcing key constraints where > Postgres isn't, so technically Postgres is right to complain. > > 2008/11/27 <[EMAIL PROTECTED]>: > > and what that shoud do? attached is a changed version... do see > > if that's what u want (it's sqlite, with plain session). > > the only real change is cascade=all,delete-orphan on > > house.owners... but i just unintentionaly guessed it. > > > > On Thursday 27 November 2008 09:51:38 David Harrison wrote: > >> So this is actually a follow on from a question I posed quite a > >> while back now: > >> > >> http://groups.google.com/group/sqlalchemy/browse_thread/thread/4 > >>530 > >> dffffd3f5585/eb4638599b02577d?lnk=gst&q=Postgres+cascade+error#e > >>b463 8599b02577d > >> > >> So my approach to solving this problem was to use a > >> MapperExtension, but it's giving me the error that I originally > >> posted in this thread. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---