データベースのER図を自動で作ってくれるSchemaSpyをMySQLとPostgreSQLのどちらも便利にDockerで対応できるgitリポジトリを公開しました

Posted on 2022/01/03 by 弓削田公司
#SchemaSpy#github
仕事兼、趣味兼、ブロガーという、1つの案件で3つをこなす、ユゲタです。 今回はとある会社さんで、お仕事で参画した開発部門の資料がなんも整っていない&その内容把握をしないと行けないということで、 まずはデータベースの中身を見るために、ER図を作ろうと考えて、「SchemaSpy」を使おうとしたけど、 いろいろな記事に書かれているけど、どうもMacBookAir2020のシリコンチップでうまく動作できない。 ということで、Dockerでシリコンマックで動作できる便利composerを困っている人に使ってもらおうとGithubにアップしておきました。 そして、MysqlとPostgreSQLのどちらでも設定できるように、ドライバも同梱しておくことにしたので、どっちも便利に使えると思います。

Github

githubのリンクは以下です。 ご自由にcloneしてお使いください。 mynt_schemaspy URL : https://github.com/yugeta/mynt_schemaspy

使い方

基本的な使い方として、cloneして落ちてきたフォルダ内のdockerフォルダに入ってもらって、その中にある、config/sample.propファイルを修正すれば、あとはdockerを立ち上げるだけという手順です。 簡単でしょ?

config/sample.propの編集

schemaspy.t=mysql schemaspy.dp=/app/mysql.jar schemaspy.host=localhost schemaspy.port=3306 schemaspy.db=database schemaspy.u=root schemaspy.p= schemaspy.o=/output schemaspy.s=database まず、mysqlかPostgreSQLのどちらかを指定します。 サンプルはmysqlになっているので、PostgreSQLの場合は、「pgsql」としてください。 host名、ポート名、DB名、ログインID、パスワード、スキーマは、それぞれの環境のものに書き換えてください。 スキーマの箇所は空欄にすると、うまくアクセスできなかったので、わからない場合は、DB名を書いておくといいでしょう。 とりあえず、mysql.propとpgsql.propを参考に入れているので、そちらを参考にしてもらって環境入力をしてください。

起動

ルート階層で、次のコマンドを実行するだけです。 $ sh run.sh 設定に問題がなければ、数分待てば、DBの内容が記載されたHTMLデータや画像ができあがります。 作られたデータは、ルート階層に、dataフォルダが作られるので、その直下にある、index.htmlをブラウザで開くと、 素敵に内容が確認できます。 ちなみに、ユゲタの触った、とある会社のデータベースは、ER図を見ても、リレーション設定がまともにできておらず、 残念な感じになっていました・・・orz

最後に

他の環境でも使えるように、レポートもらえると助かります。 そして、データベース設計など、ER図などから読み取れることも多いし、学習出来る点もたくさん見つけられるので、 こうした資料作成って重要であることを、改めて感じましたね。
SNS
Groups
  • テクノロジー
  • ビジネス
  • 日記
  • 映画
  • マーケティング
  • 学習
Tags
  • #Nodejs
  • #Development
  • #ドキュメント
  • #アウトプット
  • #Docker
  • #Javascript
  • #思考
  • #組織マネジメント
  • #コミュニケーション
  • #ファイル操作
  • #書籍
  • #プログラミング
  • #webサイト運用
  • #パスワード認証
  • #PHP
  • #裏技
  • #効率化
  • #人材教育
  • #Github
  • #鍵
  • ...
関連記事