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