Skip to content

MySQL DDL / DML / 設計書用リポジトリ

License

semba-yui/sample-mysql-rdb

Repository files navigation

sample-mysql-rdb

Build and Deploy MkDocs per Branch pages-build-deployment Ask DeepWiki

目次

概要

このプロジェクトは、MySQL を使用したデータベース管理と開発のワークフローの例を提供します。

  • Flyway を用いたマイグレーション管理
  • tbls を用いたテーブル定義書自動生成
  • LiamERD を用いたER図自動生成
  • SQLフォーマッターによるコード整形
  • Dockerを用いた開発環境
  • mkdocs を用いた markdown → HTML 変換(GitHub Pages 用)
  • husky を用いたコミット時の自動フォーマット

開発者向けガイドライン

開発者向けガイドラインはCONTRIBUTING.mdをご参照ください。

必須環境

mise を用いて開発環境をセットアップします。
以下に各種バージョンを記載しますが、最新の情報は mise.toml を参照してください。

  • mise
    • Node.js: v23.11.0
    • Python: v3.13.3
    • Poetry: Latest
  • Docker および Docker Compose

セットアップ

0. mise / docker, docker-compose のインストール

mise のインストール

以下のサイトを参照してください。

homebrew を用いてインストールする場合は以下のコマンドを実行してください。

brew install mise

docker, docker-compose のインストール

docker desktop は商用利用できません。
利用している OS に応じて適宜インストールしてください。

homebrew を用いてインストールする場合は以下のコマンドを実行してください。

brew install docker
brew install docker-compose

1. 任意の箇所に workspace を作成する

mkdir workspace
cd workspace

2. リポジトリをクローンする

git clone https://github.com/semba-yui/sample-mysql-rdb.git
cd sample-mysql-rdb

3. mise を用いて開発環境をセットアップする

mise install

4. poetry を用いて依存関係をインストールする

poetry install

5. npm を用いて依存関係をインストールする

npm install

使用方法

1. データベース起動 & テーブル定義書自動生成

データベース起動時、Flyway によるマイグレーションと、tbls によるテーブル定義書の自動生成が行われます。生成されたファイルは docs/schema/ 配下に出力されます。

npm run db:serve

2. テーブル定義書の再生成

すでにデータベースが起動している場合、テーブル定義書のみを更新したいときは次のコマンドを実行します。

npm run db:schema

3. データベースアクセス

お使いのデータベースツールから以下の接続情報でアクセスしてください。

  • DB: MySQL 8.0.41
  • ユーザー名: user
  • パスワード: Password
  • ポート: 3306
  • データベース名: sample_rdb

4. ER図生成

ER 図を生成すると docs/out/ 以下に HTML ファイルが出力されます。

npm run er:build

生成された docs/schemadocs/out ディレクトリは .gitignore で管理対象から除外されています。

5. ER図確認

npm run er:serve

6. ドキュメント生成

npm run docs:build

7. ドキュメント確認

npm run docs:serve

8. データベースの停止

利用が完了したら、以下のコマンドで docker コンテナを停止してください。

npm run db:down

CI で生成される Excel ファイル

GitHub Actions の Build and Deploy MkDocs per Branch ワークフローでは、 テーブル定義書 (excel/schema.xlsx) を自動生成し、Artifacts にアップロードしています。 ワークフロー実行結果ページの Artifacts から excel-<branch_name> という名前でダウンロードできます。

参考

ライセンス

本プロジェクトは MIT License の下で公開されています。

Contributors 2

  •  
  •