>
>
> there's nothing built in that does that.    you might build your own using
> the way that tometadata() works to provide clues.
>
>
>
So, something like this? (Ignoring schema for now)

def copyinmetadata(table, to_name):
    """Make copy of table in own metadata"""
    metadata = table.metadata
    assert metadata.tables.get(to_name, None) is None, \
        'Copy/Rename target %s already exists in metadata' % to_name
    args = []
    for c in table.columns:
        args.append(c.copy())
    for c in table.constraints:
        args.append(c.copy())
    return Table(to_name, metadata, *args)


def renameinmetadata(table, to_name):
    """Rename table in own metadata"""
    metadata = table.metadata
    new_table = copyinmetadata(table, to_name)
    metadata.remove(table)
    return new_table

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to