- Đăng vào
Tự động tạo Entity Relationship Diagram khi dùng Django Framework
Django là một Framework giúp bạn lập trình web nhanh hơn và tốt hơn so với các framework như Flask mà lại dễ hơn nhiều. Django có tài liệu rất tốt và tuân theo nguyên tắc DRY (Đừng lặp lại chính mình) trong khi những Framework khác không quan tâm nhiều về điều này. Django cũng hỗ trợ ORM (Object Relistic Mapping).
Gần đây, trong quá trình phát triển tiếp một project trên Django Framework mình gặp vấn để là làm sao hiểu được cấu trúc của dự án cũ trước đó (dự án cũ không có tài liệu ADD). Sau thời gian bỏ công tìm hiểu thì cuối cùng cũng mày mò ra phương pháp xuất ra Entity Relationship Diagram (ERD) bằng cách sử dụng thư viện pygraphviz.
Với môi trường phát triển là Linux thì việc cài đặt pygraphviz quá đơn giản bằng lệnh sudo blabla..
Tuy nhiên việc cài trên Window hơi phức tạp và dưới đây là cách thực hiện.
Cài Graphviz và thư viện python pygraphviz trên Window
Môi trường trong ví dụ này là Window 10 64bit và Python 3.9
- Cài đặt Graphviz-2.38-graphviz-2.38.msi
- Cài đặt bản prebuild pygraphviz‑1.6‑cp39‑cp39‑win_amd64.whl
- Download và cài bộ font Roboto tại đây vào window
- Thêm
C:\Program Files (x86)\Graphviz2.38\bin
vào System variablesPATH
Sau khi hoàn thành các bước trên, có thể cài đặt thư viện Python của Graphviz bằng lệnh
pip install pygraphviz
Cấu hình project Django
Chỉnh sửa INSTALLED_APPS
trong setting.py: thêm "django_extensions"
INSTALLED_APPS = [
# Django modules
# .....
"django_extensions",
]
Xuất Data Modeling Diagram
python ./manage.py graph_models --pygraphviz -a -g -o database_visualization.png
Sau khi lệnh thực thi thành công thì sẽ ra được hình như dưới Đây