On Nov 7, 2008, at 10:37 AM, sector119 wrote:
> > Hi! > > I have people_table: > > people_table = sa.Table('people', meta.metadata, > sa.Column('id', sa.types.Integer, primary_key=True, > autoincrement=False), > sa.Column('street_id', sa.types.Integer, > sa.ForeignKey('streets.id'), nullable=False), > sa.Column('first_name', sa.types.Unicode(255), nullable=True), > sa.Column('last_name', sa.types.Unicode(255), nullable=False) > ) > > And I have to create that table at different than public schema. > If I do people_table.tometadata(meta.metadata, > schema='myschema').create() sqlalchemy create table but with street_id > = ForeignKey('streets.id') not ForeignKey('myschema.streets.id') > How to make FK's follow new table schema or how to change foreign key > target on the fly? > With people_table.foreign_keys[0].target_fullname = > 'myschema.streets.id' it doesn't work ? I get AttributeError: can't > change attribute to metadata() is not a widely used feature so I'd describe that behavior as a bug. The ForeignKey should be converted over. As far as your workaround, set the value on "_colspec" rather than "target_fullname" and that should clear it up. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---