/schemaspy-demo-box

Demonstration of use of schemaspy for dummy database

Primary LanguageJavaScript

Schemaspy使用方法

事前セッティング(インストール/ ダウンロード)

brew install graphviz 

使用方法

A: コマンドにconfig情報直接入力=>outputファイル作成 (◯)

java -jar ./schemaspy-6.2.4.jar \
    -t mysql \
    -dp ./mysql-connector-j-9.0.0.jar \
    -db parking_app \
    -host localhost \
    -port 3306 \
    -s parking_app \
    -u root \
    -o ./output \
    -hq /opt/homebrew/bin/dot \
    -imageformat svg \
    -imagefontadjust true
  • Graphviz rendererについて以下のようなエラーが多く発生するが、無視して良さそう。((根拠 from Github issues)[schemaspy/schemaspy#833])
.ERROR - dot ~~ Warning: cell size too small for content

B: Configファイルを作成 => コマンドでconfigファイルを参照=>outputファイル作成(×: エラー解決できず、index.htmlが生成されない)

  • schemaspy.propertiesで設定情報を記載=>java -jar ./schemaspy-6.2.4.jar \ -configFile schemaspy.propertiesを実行

    //schemaspy.properties
    schemaspy.t=mysql
    schemaspy.dp=./mysql-connector-j-9.0.0.jar
    schemaspy.db=parking_app
    schemaspy.host=localhost
    schemaspy.port=3306
    schemaspy.s=parking_app
    schemaspy.u=root
    # schemaspy.p=
    schemaspy.o=./output
    schemaspy.hq=/opt/homebrew/bin/dot
    schemaspy.imageformat=svg
    schemaspy.imagefontadjust=true
  • 以下のようなエラーが発生する。Javaランタイムが認識するクラスファイルバージョンが古いのが原因。Versionを11に変えれば解消するようだが、まだ解決できていない。

Caused by: java.lang.UnsupportedClassVersionError: org/openjdk/nashorn/api/scripting/NashornScriptEngineFactory has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Dockerで実施(未着手)

特徴

🙆

  • 各テーブル、及びそのER図をサイトとして一覧できる。
  • Anomaliesで不整合なテーブルを検出できる。
  • Orphan Tablesで他テーブルとのRelationがないものを検出できる。
  • Searchでテーブルレベル、テーブル内のカラムレベルの検索が可能。

🙅

  • 各テーブル・カラムに対するコメントの記載や、テーブルをカテゴライズなどのカスタマイズがしにくい?
  • index.htmlを参照するためには、github pagesなどを使用する必要がある。ただし、github pagesはpublicでないとサイトを公開できない。Private公開&内部でのみサイトを公開するためには、Github Enterpriseを使用する必要がある?

参考文献`