3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SchemaSpyで生成したドキュメントを眺めてみる

Last updated at Posted at 2021-12-11

はじめに

  • 前回は、WordPressを立ててSchemaSpyを試しました
  • で今回、SchemaSpyで出力したドキュメントを見ていこうと思ったのですがWordPressだとあまり見どころがなさそうだなと感じたので、代わりに、以前運用していたことのあるECパッケージ Magento2 を使ってみようと思います

Magento2とは?

  • PHP製の越境ECパッケージで無料版・有料版があります
  • フロントサイトと管理画面が標準で用意されておりますし、ECで必要となる多くの機能を備えています
  • 拡張性が高く、また標準で多言語・多通貨対応されております
  • 国内ではあまり聞かれないですが海外では結構利用されているようです

WordPressとMagento2のDB比較

  • 見ての通り、テーブル数から全然差があり、WordPressで出力した際には数秒で終わったのですが、Magento2で出力した際には正味、数十分かかりました。。。!
  • それでは各ページを眺めていきましょう
テーブル数 カラム数
WordPress 12 94
Magento2 346 2846

スクリーンショット 2021-12-12 0.26.44.png

Tables(テーブル一覧)

スクリーンショット 2021-12-12 1.01.20.png

Columns(カラム一覧)

  • キーや型などがぱっと見でわかりますね

スクリーンショット 2021-12-12 1.09.27.png

Constraints(外部キー一覧)

スクリーンショット 2021-12-12 1.17.23.png

Relationships(リレーション)

  • リレーションが多過ぎて一部しか表示できない・・・

スクリーンショット 2021-12-12 1.19.29.png

Orphan Tables(独立したテーブル一覧)

スクリーンショット 2021-12-12 1.23.27.png

Anomalies(不整合?)

スクリーンショット 2021-12-12 1.27.18.png

Routines(ストアドルーチン)

スクリーンショット 2021-12-12 1.47.33.png

テーブル詳細

  • サンプルとして wishlist テーブルを取り上げてみました
  • デフォルトでシェア(Amazonのほしい物リストの公開的な)機能が用意されていたり、複数ストアに対応されていたりと非常に多機能ですね

_Users_s.yoshimoto_mine_repositories_schemaspy-sample_magento2_schema_tables_wishlist.html.png

おわりに

  • 今回は、SchemaSpyで生成したドキュメントの各ページを眺めていきました
  • 全体の外部キーがまとめて確認できたり、リレーションが見れたり結構良いなぁと思いました
  • また、今回は手間を省くためデフォルトで多数のテーブルが用意されるパッケージをサンプルに見ていきましたが、例えば途中から引き継いだプロジェクトで「DB定義ないっすー」みたいな時に、まずパッと作ってみて全体を俯瞰で見るのにも良いかなと思いました
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?