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

2022年1月3日

テクノロジー

eyecatch 仕事兼、趣味兼、ブロガーという、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を立ち上げるだけという手順です。 簡単でしょ? 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図などから読み取れることも多いし、学習出来る点もたくさん見つけられるので、 こうした資料作成って重要であることを、改めて感じましたね。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ