def METHOD_NAME(datamodel, tabledef):
    columns = [ Column(tabledef.idColumn, types.Integer, primary_key=True) ]
    columns.extend(make_column(field) for field in tabledef.fields)
    for reldef in tabledef.relationships:
        if reldef.type in ('many-to-one', 'one-to-one') and hasattr(reldef, 'column'):
            fk = make_foreign_key(datamodel, reldef)
            if fk is not None: columns.append(fk)
    return Table(tabledef.table, metadata, *columns)