Yes that looks familiar :) I'll try to come up with a good test case here to prove the error (if any).
On Nov 6, 7:45 am, Michael Bayer <mike...@zzzcomputing.com> wrote: > FTR, pickling of metadata is a covered use case (meaning a regression of > basic FK activity would have been detected), here's a simple test which > passes: > > from sqlalchemy import * > > m = MetaData() > > a = Table('a', m, > Column('x', Integer, primary_key=True), > Column('z', Integer) > ) > > b = Table('b', m, > Column('x', Integer, primary_key=True), > Column('y', Integer, ForeignKey('a.x')) > ) > > assert b.c.y.references(a.c.x) > assert not b.c.y.references(a.c.z) > > import pickle > > m2 = pickle.loads(pickle.dumps(m)) > > a2 = m2.tables['a'] > b2 = m2.tables['b'] > > assert b2.c.y.references(a2.c.x) > assert not b2.c.y.references(a2.c.z) > > On Nov 5, 2011, at 7:30 AM, Michael Bayer wrote: > > > > > > > > > can you provide a very simple and pared down test case using table metadata > > only? > > > On Nov 5, 2011, at 6:41 AM, botz wrote: > > >> version 0.7.3. > > >> I have tables with foreign keys defined, and the orm mapping (with > >> relationships corresponding to the foreign keys) works fine with > >> autoload=True on the tables. > > >> If I persist the metadata then with pickle, and then reload the app > >> using pickled metadata and autoload=False, I get the following: > > >> sqlalchemy.exc.ArgumentError: Could not locate any foreign-key- > >> equated, locally mapped column pairs for primaryjoin condition > >> 'client_statuses.client_status_code = clients.client_status_code' on > >> relationship Client.status. Ensure that the referencing Column > >> objects have a ForeignKey present, or are otherwise part of a > >> ForeignKeyConstraint on their parent Table, or specify the > >> foreign_keys parameter to this relationship. For more relaxed rules > >> on join conditions, the relationship may be marked as viewonly=True. > > >> Error occurs for both values of extend_existing. > > >> Seems to be a regression from 0.6 where it worked ok. > > >> -- > >> 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 > >> sqlalchemy+unsubscr...@googlegroups.com. > >> For more options, visit this group > >> athttp://groups.google.com/group/sqlalchemy?hl=en. > > > -- > > 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 > > sqlalchemy+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/sqlalchemy?hl=en. -- 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 sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.