From 18e473b94e30d9e7cd17ae57fc47d9b47e7af96b Mon Sep 17 00:00:00 2001 From: Anton Buyskikh Date: Fri, 6 Sep 2024 09:52:49 +0100 Subject: [PATCH 1/2] Prune imports --- sqlalchemy_data_model_visualizer.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sqlalchemy_data_model_visualizer.py b/sqlalchemy_data_model_visualizer.py index 52b2929..5a67782 100644 --- a/sqlalchemy_data_model_visualizer.py +++ b/sqlalchemy_data_model_visualizer.py @@ -1,15 +1,10 @@ from datetime import datetime -from typing import Optional -from enum import Enum -from decimal import Decimal -from sqlalchemy.orm import sessionmaker, declarative_base, relationship -from sqlalchemy import Column, String, DateTime, Integer, Numeric, Boolean, JSON, ForeignKey, LargeBinary, Text, UniqueConstraint, CheckConstraint, text as sql_text -from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession +from sqlalchemy.orm import declarative_base, relationship +from sqlalchemy import Column, String, DateTime, Integer, Numeric, Boolean, JSON, ForeignKey, LargeBinary, Text, CheckConstraint from sqlalchemy import inspect import graphviz from lxml import etree import os -import re Base = declarative_base() def generate_data_model_diagram(models, output_file='my_data_model_diagram', add_labels=True, view_diagram=True): From 42a3ed2052f176e075c59fec4c510f8278145a00 Mon Sep 17 00:00:00 2001 From: Anton Buyskikh Date: Fri, 6 Sep 2024 09:53:12 +0100 Subject: [PATCH 2/2] Expose image format --- sqlalchemy_data_model_visualizer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqlalchemy_data_model_visualizer.py b/sqlalchemy_data_model_visualizer.py index 5a67782..1a1b091 100644 --- a/sqlalchemy_data_model_visualizer.py +++ b/sqlalchemy_data_model_visualizer.py @@ -7,9 +7,9 @@ import os Base = declarative_base() -def generate_data_model_diagram(models, output_file='my_data_model_diagram', add_labels=True, view_diagram=True): +def generate_data_model_diagram(models, output_file='my_data_model_diagram', add_labels=True, view_diagram=True, format='svg'): # Initialize graph with more advanced visual settings - dot = graphviz.Digraph(comment='Interactive Data Models', format='svg', + dot = graphviz.Digraph(comment='Interactive Data Models', format=format, graph_attr={'bgcolor': '#EEEEEE', 'rankdir': 'TB', 'splines': 'spline'}, node_attr={'shape': 'none', 'fontsize': '12', 'fontname': 'Roboto'}, edge_attr={'fontsize': '10', 'fontname': 'Roboto'})