Michael Bayer ha scritto: > > On Nov 9, 2007, at 4:23 PM, Manlio Perillo wrote: > >> Michael Bayer ha scritto: >>> Sorry, I forgot to add that the mappers A and B must have a >>> relation() >>> specified in order for unit of work to determine the order of >>> operations. this has always been the case in all versions. >>> illustrated in the attached script. >>> >> But I have a piece a code that works with SQLAlchemy 0.3.6 and fails >> with never versions. >> >> The schema is at: >> http://hg.mperillo.ath.cx/nweb/nauth/file/68ab5b8e71f8/nauth/schema.py >> and the code is at: >> http://hg.mperillo.ath.cx/nweb/nauth/file/68ab5b8e71f8/test/test_nauth.py >> >> in the test suit named RealmTestCase (in the setUp method) column 248. > > Well thats a lot of code to read,
Sorry. > but I can see that your mappers have > no relations set between them. Right. > SQLAlchemy has never made any > guarantees of insert order among two different tables that have no > explicitly defined relation to each other at the mapper level; and in > fact the test case I posted earlier still inserts into B before A even > on 0.3.6. If your application save()s A and B, which have no > relation() to each other, and it requires that A be inserted before B, > you are relying on behavior that is currently undefined. If your app > runs on 0.3.6 with linux, I bet it would fail on OSX which usually > orders dictionaries differently than the same app would on linux. > Ok, so the order is undefined. > this is not to say it might be an *interesting* feature for mappers to > take foreign keys on tables which have no corresponding relation() > into account when flushing, although i think it might be somewhat > surprising behavior and id be concerned about the feature adding > unnecessary complexity. > Isn't it possible to just use the order used by the programmer? If I call save(A) save(B) then the operations should be executed in this order. Thanks Manlio Perillo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---