SchemaSpy를 사용하여 RDS 테이블 정보를 ER 다이어그램까지 자동으로 만들고 싶습니다.
개요
SchemaSpy를 사용하여 연결 대상 DB의 Table 정보를 깨끗이 빼내고, 어쨌든 ER 그림으로 해주는 곳까지 해 주었으면 한다
 SchemaSpy
 GitHub - schemaspy/schemaspy: SchemaSpy code home
 내가 한 일
GitHub - schemaspy/schemaspy: SchemaSpy code home
내가 한 일
EC2에 Docker 추가
$ sudo yum install -y docker
$ sudo service docker start
# ec2-userがdockerコマンドを実行できるように、ec2-userをdockerグループに入れる
$ sudo usermod -a -G docker ec2-user
SchemaSpy Docker 이미지 가져오기
$ docker pull schemaspy/schemaspy
# インストール確認
$ docker images
이대로 실행하면 다음 오류가 발생합니다.
WARN - Connection Failure
Failed to connect to database URL [jdbc:mysql://mysql:3306/hoge] Unknown system variable 'query_cache_size'
MySQLJDBC 드라이버의 버전을 올리면 해결한다는 것이므로, MySQL 손에 넣는다
$ mkdir -p drivers
$ curl -L https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.16.tar.gz |
    tar xvzf - -C drivers --strip=1 mysql-connector-java-8.0.16/mysql-connector-java-8.0.16.jar
스키마 생성
우선 DB의 각 환경 변수를 export
$ export DB_HOST={HOST名}
$ export DB_PORT={Port番号}
$ export DB_NAME={DB名}
$ export DB_PASS={DBPass}
$ export DB_USER={DBUser}
Docker 시작
$ docker run --rm --net="host" -v "$PWD/schema:/output" -v "$PWD/drivers:/drivers" -u root:root schemaspy/schemaspy:latest -t mysql -host ${DB_HOST}:${DB_PORT} -db ${DB_NAME} -u ${DB_USER} -p ${DB_PASS} -connprops useSSL\\=false -s ${DB_NAME}
로컬로 Schema 데이터를 DL
우선 EC2 앞에서 Schema 파일을 Zip화
$ zip -r schema.zip schema
로컬로 돌아가서 EC2에서 schema.zip 받기
$ scp -i "$HOME/.ssh/{秘密鍵のPath}" ec2-user@{ipアドレス}:/home/ec2-user/schema.zip ./
Zip 파일을 확장하고 브라우저에서 index.html을 엽니다.

각 코드
가능한 한 쉘에서 좋게 만들고 싶었기 때문에 Gits로 정리했습니다.
install_docker.sh : EC2에 Docker 넣기
 htps : // st. 기주 b. 코m/카이온/96056d2033d2b4세409616에526아18388
create_schema.sh : SchemaSpy를 사용하여 Schema 데이터를 만들고 Zip화(변수 입력 필수)
 htps : // 기 st. 기주 b. 코m/카이온/4d15cbc7바40에54699c548c84d6cbc31
download_schema.sh : 로컬 위에서 Schema 데이터를 현재 디렉토리에 DL·해동·index.html을 전개하는 곳까지 해 준다
 htps : // 기 st. 기주 b. 코 m / 카이 온 / 아 796f63811 에어 5d49b3 에어 30
 참고 사이트
 Docker로 Saku와 DB에서 ER 다이어그램 만들기 - Qiita
 【SchemaSpy】 번거로움없이 RDS (MySQL)에서 ER 다이어그램을 생성하고 싶다 - Qiita
 Docker를 사용하여 MySQL 8에서 ER 다이어그램 만들기 - Qiita
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(SchemaSpy를 사용하여 RDS 테이블 정보를 ER 다이어그램까지 자동으로 만들고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/kaion/items/4a4864e1fc633c4fbee7
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Docker로 Saku와 DB에서 ER 다이어그램 만들기 - Qiita
【SchemaSpy】 번거로움없이 RDS (MySQL)에서 ER 다이어그램을 생성하고 싶다 - Qiita
Docker를 사용하여 MySQL 8에서 ER 다이어그램 만들기 - Qiita
Reference
이 문제에 관하여(SchemaSpy를 사용하여 RDS 테이블 정보를 ER 다이어그램까지 자동으로 만들고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaion/items/4a4864e1fc633c4fbee7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)