| from sqlalchemy_schemadisplay import create_schema_graph | |
| from sqlalchemy import MetaData | |
| from database import engine # same folder import | |
| # Reflect database schema | |
| metadata = MetaData() | |
| metadata.reflect(bind=engine) | |
| # Generate the diagram | |
| graph = create_schema_graph( | |
| engine=engine, # β required in newer versions | |
| metadata=metadata, | |
| show_datatypes=True, # show column data types | |
| show_indexes=True, # show indexes | |
| rankdir='LR', # left-to-right layout | |
| concentrate=False # avoid merging edges | |
| ) | |
| # Save diagram | |
| graph.write_png('models_diagram.png') | |
| print("β ER diagram generated: models_diagram.png") | |