| 541 | |
| 542 | |
| 543 | def drop_all(engine, schema_name): |
| 544 | with engine.connect() as conn: |
| 545 | table_names = engine.dialect.get_table_names(conn, schema=schema_name) |
| 546 | print(f"Dropping {len(table_names)} tables") |
| 547 | dn = engine.dialect.name |
| 548 | i = 0 |
| 549 | while table_names: |
| 550 | name = table_names.pop() |
| 551 | try: |
| 552 | conn.execute(_drop_ddl(name, schema_name, dn)) |
| 553 | conn.commit() |
| 554 | except Exception: |
| 555 | conn.rollback() |
| 556 | table_names.insert(0, name) |
| 557 | i += 1 |
| 558 | if i % 25 == 0: |
| 559 | print(f"Still running. Tables left {len(table_names)}") |
| 560 | |
| 561 | |
| 562 | if __name__ == "__main__": |