MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / visit_table

Method visit_table

lib/sqlalchemy/sql/ddl.py:1195–1224  ·  view source on GitHub ↗
(
        self,
        table,
        drop_ok=False,
        _is_metadata_operation=False,
        _ignore_sequences=(),
    )

Source from the content-addressed store, hash-verified

1193 DropIndex(index)(index, self.connection)
1194
1195 def visit_table(
1196 self,
1197 table,
1198 drop_ok=False,
1199 _is_metadata_operation=False,
1200 _ignore_sequences=(),
1201 ):
1202 if not drop_ok and not self._can_drop_table(table):
1203 return
1204
1205 with self.with_ddl_events(
1206 table,
1207 checkfirst=self.checkfirst,
1208 _is_metadata_operation=_is_metadata_operation,
1209 ):
1210 DropTable(table)._invoke_with(self.connection)
1211
1212 # traverse client side defaults which may refer to server-side
1213 # sequences. noting that some of these client side defaults may
1214 # also be set up as server side defaults
1215 # (see https://docs.sqlalchemy.org/en/
1216 # latest/core/defaults.html
1217 # #associating-a-sequence-as-the-server-side-
1218 # default), so have to be dropped after the table is dropped.
1219 for column in table.columns:
1220 if (
1221 column.default is not None
1222 and column.default not in _ignore_sequences
1223 ):
1224 self.traverse_single(column.default)
1225
1226 def visit_foreign_key_constraint(self, constraint):
1227 if not self.dialect.supports_alter:

Callers 1

compile_tableMethod · 0.45

Calls 5

_can_drop_tableMethod · 0.95
DropTableClass · 0.85
_invoke_withMethod · 0.80
traverse_singleMethod · 0.80
with_ddl_eventsMethod · 0.45

Tested by 1

compile_tableMethod · 0.36