우리는erd-go와 주변 도구를 만들어'실체 관계 진단'을 묘사했다

4249 단어 DoterdVSCodePEGGo

ERD란 무엇입니까?

  • 일본어 번역 솔리드 연관도
  • 실체 간의 일대다 또는 다대다 등 관련성을 내려다볼 수 있다
  • 뭐 공부 해요?


    퍼레이드부터 보세요.
    erd-go+graphviz-dot.js+vscode 플러그인ERD Preview의 조합

    작법

    # Entities are declared in '[' ... ']'. All attributes after the entity header
    # up until the end of the file (or the next entity declaration) correspond
    # to this entity.
    [Person]
    *name
    height
    weight
    +birth_location_id
    
    [Location]
    *id
    city
    state
    country
    
    # Each relationship must be between exactly two entities, which need not
    # be distinct. Each entity in the relationship has exactly one of four
    # possible cardinalities:
    #
    # Cardinality    Syntax
    # 0 or 1         0
    # exactly 1      1
    # 0 or more      *
    # 1 or more      +
    Person *--1 Location
    
  • []에 이름을 기재하면 표명
  • 으로 식별됩니다.
  • 표명 뒤에 열명 기입
  • 표명을 서로 1--* (1 대 다) 또는 *--* (다중 대 다) 로 기재함으로써 표를 서로 연결할 수 있음
  • 창조적 동기


    크게 두 개로 나누다
  • WEB 시스템 설계를 위한 모델 설계
  • 아마 WEB 시스템을 설치할 때 모델 관련 설계를 할 것 같아요.
  • 트위터 같은 것을 만들 때 "사용자는 트윗이 여러 개 있고 트윗은 답장 기능이 있어서 리플리라는 시계가 있는데..."그렇다면
  • 또한 기존 모델에서 ER 그림을 생성하는 도구rails-erdetc
  • 가 있음
  • , 설치 전 디자인 단계의 도구가 있지만 이런 느낌
  • 따라서'초기에 디자인할 때 어떻게 해야만 한 쌍 많거나 여러 쌍을 대충 설계할 수 있습니까?
    "고민의 결과는했어요
  • BurntSushi가 만든 erd 도구를 개선하고 싶습니다.
  • 간편함을 중시하고 싶다
  • 설치가 필요 없고 단일 바이너리에서 사용하려면
  • OS를 고려하지 않고 다중 플랫폼에서 erd 명령 자체를 사용하고 싶다
  • Windows/Mac/Linux에서 사용하고 싶어서
  • 글쓰기용 Windows/Mac
  • 또한 Jenkins로 정기적으로 그림을 만들고 싶으므로 Linux
  • 에도 대응하는 것이 좋다
  • 한 쌍의 다른 표현을 쉽게 이해하고 싶다
  • 단순한 스타일 조정이지만 중시하고 싶다
  • 각종 공구에 사용되는 기술


    erd-go

  • GO 언어
  • pointlander/peg
  • 여기에서 입력한 문법을 Graphviz의dot언어로 바꾸는 역할을 맡기 위해PEG(Parsing Expression Grammar)도 자신의 학습을 겸용하여pointlander/peg를 사용하였다

    graphviz-dot.js


    이것은 erd-go에서 뱉은 DOT 언어를 SVG로 바꾸는 도구입니다.graphviz에 해당하는dot 명령
  • JavaScript
  • Emscripten
  • Emscripten을 사용하여 Graphviz 라이브러리를 JS
  • 로 변환
  • 명령행 옵션의 처리는 별도로dot합니다.구현: js

  • zeit/pkg
  • Node.js 실행 환경과 JS를 실행 파일로 묶는 도구
  • upx가 지원되지 않기 때문에 2진 크기가 큰 것은 난점
  • ERD Preview(Visual Studio Code 확장)

  • JavaScript
  • 이것은 단지 솔직하게 처리erd 명령과 dot 명령

  • VScode 확장 자습서

  • 설치 후 settings.json 다음 설정 필요
    // erd と dot コマンドへのパス。Windows の場合はC:\\Users ... というような形
    "erd-preview.erdPath": "...",
    "erd-preview.dotPath": "...",
    
  • 마지막

  • 아직 개선점이 눈에 띄지만 어쨌든 대략적인 디자인을 할 수 있다면 행복하다
  • 자체 제작 도구를 사용하여 모델 설계를 한 후rails-erd에서 현황 코드 기술도 사용 방법
  • 이 글을 다른 사람들도 사용할 수 있게 해주면 좋겠다
  • 좋은 웹페이지 즐겨찾기