안녕하세요
제가 오늘 하려는건 DB문서를 자동으로 문서화 해주는 것 입니다
회사에서 저한테 하나하나 엑셀로 정리하라고 하시는거에요
그래서 처음에는 그냥 엑셀로 정리를 했었어요!
문제점
1. DB Table 갱신 후 엑셀 문서 갱신 누락 (귀찮음)
2. 매번 엑셀 문서경로를 찾아서 들어가야함 (귀찮음)
3. 새로운 DB마다 똑같은걸 반복함 (많이 귀찮음)
= 많이 귀찮은 노가다의 반복
해결 방법
Composer를 이용하여 빠르고 쉽게 문서를 자동화함
https://packagist.org/packages/unisharp/doc-us
적용하는 방법
라라벨 같은 경우는 위에 방법으로 바로 적용이 가능하지만
제가 사용하는 프레임워크는 라라벨 루멘이였습니다..
그래서 루멘에서 해당 doc-us를 적용하는 방법을 알아보겠습니다
위에 packagist에 들어가보시면 이렇게 순서가 나와요
composer를 통해서 unisharp/doc-us 다운 받았습니다
잘 받아집니다 여기까지는 문제가 없네요
이렇게 .env 파일에 EANBLE_DOC_US도 추가해줍니다
다른사람은 못 알아볼수 있기 때문에 주석도 추가했어요
그런데...
여기서 문제가 생깁니다 ..
라라벨은 기본적으로 config/app.php가 존재합니다
그러나 루멘은 config폴더부터 생성해서 작성하기 시작해야해요
이때 문득 루멘 괜히 썻다라고 삼십분정도 생각했는데
어차피 루멘은 라라벨에서 기능을 뺀 프레임워크이기 때문에
구조를 조금보면 가능할껍니다
UniSharp\DocUs\DocUsServiceProvider::class를 뜯어보니 이런 구조로 되어있네요
routes를 추가하고 view를 이용해 table,json 등등 다양한 형태로 보여줍니다
providers에 추가 한다는건 페이지가 열릴때 해당 class를 호출한다는건데
lumen에서는 bootstrap/app.php에서 같은 역할 및 기능 on/off를 하기 때문에
$app->register(UniSharp\DocUs\DocUsServiceProvider::class);
를 추가하여 해당 class를 실행해줍니다
결과는
넵 안됩니다
https://github.com/laravel/lumen-framework/issues/187
찾아보니 response의 사용방법이 조금 달랐습니다
vendor\unisharp\doc-us\src\routes.php
의 return부분을 수정해주시면
http://도메인/schema
이렇게 해당 테이블, description, index 정보가 나옵니다
서비스가 커지면서 DB와 Table이 많아지면서 자동화가 필요하게 됩니다
이상입니다.
'PHP > Composer' 카테고리의 다른 글
텔레그램 웹훅을 이용하여 특정 커맨드 만들기 (0) | 2020.04.23 |
---|---|
PHP 로그를 쉽게 남겨보자! (0) | 2020.04.22 |
댓글