ERD를 그려주는 Laravel ER Diagram Generator free

2019-07-15

충분한 여유를 가지고 프로젝트를 진행한다면 코드를 작성하기 전에 설계도 하고, ERD(Entity Relation Diagram)도 그리고 할 것이다. 하지만 세상은 언제나 나에게 호의적이지만은 않다. 사전에 계획 문서를 충분히 작성할 시간이 부족한 프로젝트를 맡게 될 수도 있고, 처음엔 그리 복잡하지도 않고 혼자 진행해서 문서를 만들지 않고 진행했을 수도 있다. 그런데 이후에 클이언트가 문서를 요구하거나, 혹은 동료가 더 생겨서 코드를 빠르게 파악하는데 도움이 되는 문서가 필요해지는 경우가 있다. Laravel ER Diagram Generator는 이런 경우에 요긴하게 쓸 수 있는 패키지이다.


Laravel ER Diagram Generator는 모델 파에 정의된 관계를 분석해서 ERD를 생성한다. 다음은 Laravel ER Diagram Generator로 생성한 Laravel.io의 ERD이다.(출처:  저장소)




설치


우선 PHP 7.1 이상이 필요하고, graphviz가 설치되어 있어야 한다.



brew install graphviz

홈스테드


sudo apt-get install graphviz

윈도우 환경이면 웹사이트에서 다운로드 한다.


패키지는 컴포저로 설치한다.


composer require beyondcode/laravel-er-diagram-generator --dev

개발에만 필요하고 프로덕션 환경에는 필요 없다. --dev 옵션을 잊지 말자.


사용


아티즌 커맨드로 사용한다.


php artisan generate:erd

옵션과 커스텀 설정은 저장소 문서를 참고하자.


소감


트위터에 코드를 먼저 짜고 분석을 나중에 하냐는 조롱조의 글도 있다. 하지만 앞서 언급한 것 처럼 내 손에 넘어오는 시점에 어떠한 문서도 없이 코드만 달랑 넘어오는 경우가 분명히 있고, 이럴 때는 코드를 기반으로 문서를 만들어주는 도구가 유용하게 쓰 수 있다. 실무적인 용도 외에 학습용으로도 꽤 유용할 수 있다. 타인의 코드로 학습하기 때문에 코드에서 부터 분석을 시작할 수 밖에 없기 때문이다.


조금 아쉬운 점은 엘로쿼트 모델을 상속받은 엔티티만이 분석 대상에 포함된다는 점이다. 도메인 주도 개발을 지향하거나, 클린 아키텍처를 지향하는 경우 벨에 의존하지 않는 도메인 모델과 서비스를 핵심으로 삼을 수도 있는데, 이러면 이 패키지로는 분석이 불가능하다.


===

안녕하세요. 어느새 3주차 1 1 벨이 시작됐네요. 주말에 가족들과 시간을 보내느 피드백을 요청드리지 못했습니다. 아래 링크에서 피드백 꼭 부탁드려요. 

https://forms.gle/NLmv9EPJvm3W3mQj7 

그럼 이번 한 주도 즐거운 한 주 되세요!!

2019년 7월 15

1 1





유료 구독자 전용 레터입니다.

한 달 1만원으로 매일 라라벨 관련 메일 받아보시고 과거 메일도 열람하세요. 일반 구독으로 공개글만 받아보실 수도 있습니다.

구독하기 버튼을 눌러주시면 구독과 동시에 xly에도 가입됩니다.

이현석

바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 2020년에 출간될 Laravel Up & Running 2nd Edition을 번역하고 있습니다.