On Mar 13, 2010, at 6:45 PM, Christoph Ludwig wrote:

> Hi,
> 
> I have an application that used to work fine with SQLAlchemy
> 0.5.6. With 0.6beta1 I observe commit failures when I try to update
> references in a 1-to-many relationship and delete the then unreferences
> object. I did not see anything pertinent to this issue in the 0.6 
> migration guide.

this is a bug, and the pertinent area of change is that described in 
http://www.sqlalchemy.org/trac/wiki/06Migration#Many-to-oneEnhancements .    
The first line there which mentions no longer fetching the "old" value is a 
feature which needed to be partially rolled back to fix this, as what is 
special about your test is that your foreign key is against a non-primary key 
column (its only UNIQUE).   When the "old" value is present in the current 
session, it is in fact needed for the backref accounting to work correctly, but 
for all our current tests this apparently has been relying upon the "old" value 
identified by primary key and therefore available via the local identity map.   
  So if the relation can't use a simple get() it has to go back to the database.

The test is pending and the ticket is #1737, however I have already committed 
the actual fix in r502f1a4f92d5 - the latest is available from mercurial or the 
development links at http://www.sqlalchemy.org/download.html .  thanks for the 
full test case.


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

Reply via email to