{"id":28223301,"url":"https://github.com/semba-yui/sample-mysql-rdb","last_synced_at":"2026-03-06T20:01:46.582Z","repository":{"id":291719739,"uuid":"978443926","full_name":"semba-yui/sample-mysql-rdb","owner":"semba-yui","description":"MySQL DDL / DML / 設計書用リポジトリ","archived":false,"fork":false,"pushed_at":"2025-06-25T00:30:14.000Z","size":3746,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-14T19:43:21.220Z","etag":null,"topics":["ddl","dml","docker","docker-compose","flyway","mise","mkdocs","mysql","sql","tbls","textlint"],"latest_commit_sha":null,"homepage":"https://semba-yui.github.io/sample-mysql-rdb/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semba-yui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-06T02:05:51.000Z","updated_at":"2025-06-25T00:28:01.000Z","dependencies_parsed_at":"2025-06-25T01:35:00.850Z","dependency_job_id":null,"html_url":"https://github.com/semba-yui/sample-mysql-rdb","commit_stats":null,"previous_names":["semba-yui/sample-workflow-rdb","semba-yui/sample-mysql-rdb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/semba-yui/sample-mysql-rdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semba-yui%2Fsample-mysql-rdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semba-yui%2Fsample-mysql-rdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semba-yui%2Fsample-mysql-rdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semba-yui%2Fsample-mysql-rdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semba-yui","download_url":"https://codeload.github.com/semba-yui/sample-mysql-rdb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semba-yui%2Fsample-mysql-rdb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30195529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ddl","dml","docker","docker-compose","flyway","mise","mkdocs","mysql","sql","tbls","textlint"],"created_at":"2025-05-18T08:09:21.958Z","updated_at":"2026-03-06T20:01:46.551Z","avatar_url":"https://github.com/semba-yui.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sample-mysql-rdb\n\n[![Build and Deploy MkDocs per Branch](https://github.com/semba-yui/sample-mysql-rdb/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/semba-yui/sample-mysql-rdb/actions/workflows/build-and-deploy.yml)\n[![pages-build-deployment](https://github.com/semba-yui/sample-mysql-rdb/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/semba-yui/sample-mysql-rdb/actions/workflows/pages/pages-build-deployment)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/semba-yui/sample-mysql-rdb)\n\n## 目次\n\n- [概要](#概要)\n- [開発者向けガイドライン](#開発者向けガイドライン)\n- [必須環境](#必須環境)\n- [セットアップ](#セットアップ)\n  - [0. mise / docker, docker-compose のインストール](#0-mise--docker-docker-compose-のインストール)\n  - [1. 任意の箇所に workspace を作成する](#1-任意の箇所に-workspace-を作成する)\n  - [2. リポジトリをクローンする](#2-リポジトリをクローンする)\n  - [3. mise を用いて開発環境をセットアップする](#3-mise-を用いて開発環境をセットアップする)\n  - [4. poetry を用いて依存関係をインストールする](#4-poetry-を用いて依存関係をインストールする)\n  - [5. npm を用いて依存関係をインストールする](#5-npm-を用いて依存関係をインストールする)\n- [使用方法](#使用方法)\n  - [1. データベース起動 \u0026 テーブル定義書自動生成](#1-データベース起動--テーブル定義書自動生成)\n  - [2. テーブル定義書の再生成](#2-テーブル定義書の再生成)\n  - [3. データベースアクセス](#3-データベースアクセス)\n  - [4. ER図生成](#4-er図生成)\n  - [5. ER図確認](#5-er図確認)\n  - [6. ドキュメント生成](#6-ドキュメント生成)\n  - [7. ドキュメント確認](#7-ドキュメント確認)\n  - [8. データベースの停止](#8-データベースの停止)\n- [CI で生成される Excel ファイル](#ci-で生成される-excel-ファイル)\n- [参考](#参考)\n- [ライセンス](#ライセンス)\n\n## 概要\n\nこのプロジェクトは、MySQL を使用したデータベース管理と開発のワークフローの例を提供します。\n\n- Flyway を用いたマイグレーション管理\n- tbls を用いたテーブル定義書自動生成\n- LiamERD を用いたER図自動生成\n- SQLフォーマッターによるコード整形\n- Dockerを用いた開発環境\n- mkdocs を用いた markdown → HTML 変換（GitHub Pages 用）\n- husky を用いたコミット時の自動フォーマット\n\n## 開発者向けガイドライン\n\n開発者向けガイドラインは[CONTRIBUTING.md](CONTRIBUTING.md)をご参照ください。\n\n## 必須環境\n\nmise を用いて開発環境をセットアップします。\\\n以下に各種バージョンを記載しますが、最新の情報は [mise.toml](./mise.toml) を参照してください。\n\n- [mise](https://mise.jdx.dev/)\n  - Node.js: v23.11.0\n  - Python: v3.13.3\n  - Poetry: Latest\n- Docker および Docker Compose\n\n## セットアップ\n\n### 0. mise / docker, docker-compose のインストール\n\n#### mise のインストール\n\n以下のサイトを参照してください。\n\n- [mise Getting Started](https://mise.jdx.dev/getting-started.html)\n\nhomebrew を用いてインストールする場合は以下のコマンドを実行してください。\n\n```bash\nbrew install mise\n```\n\n#### docker, docker-compose のインストール\n\ndocker desktop は商用利用できません。\\\n利用している OS に応じて適宜インストールしてください。\n\nhomebrew を用いてインストールする場合は以下のコマンドを実行してください。\n\n```bash\nbrew install docker\nbrew install docker-compose\n```\n\n### 1. 任意の箇所に workspace を作成する\n\n```bash\nmkdir workspace\ncd workspace\n```\n\n### 2. リポジトリをクローンする\n\n```bash\ngit clone https://github.com/semba-yui/sample-mysql-rdb.git\ncd sample-mysql-rdb\n```\n\n### 3. mise を用いて開発環境をセットアップする\n\n```bash\nmise install\n```\n\n### 4. poetry を用いて依存関係をインストールする\n\n```bash\npoetry install\n```\n\n### 5. npm を用いて依存関係をインストールする\n\n```bash\nnpm install\n```\n\n## 使用方法\n\n### 1. データベース起動 \u0026 テーブル定義書自動生成\n\nデータベース起動時、Flyway によるマイグレーションと、tbls によるテーブル定義書の自動生成が行われます。生成されたファイルは `docs/schema/` 配下に出力されます。\n\n```bash\nnpm run db:serve\n```\n\n### 2. テーブル定義書の再生成\n\nすでにデータベースが起動している場合、テーブル定義書のみを更新したいときは次のコマンドを実行します。\n\n```bash\nnpm run db:schema\n```\n\n### 3. データベースアクセス\n\nお使いのデータベースツールから以下の接続情報でアクセスしてください。\n\n- DB: MySQL 8.0.41\n- ユーザー名: user\n- パスワード: Password\n- ポート: 3306\n- データベース名: sample\\_rdb\n\n### 4. ER図生成\n\nER 図を生成すると `docs/out/` 以下に HTML ファイルが出力されます。\n\n```bash\nnpm run er:build\n```\n\n生成された `docs/schema` と `docs/out` ディレクトリは `.gitignore` で管理対象から除外されています。\n\n### 5. ER図確認\n\n```bash\nnpm run er:serve\n```\n\n### 6. ドキュメント生成\n\n```bash\nnpm run docs:build\n```\n\n### 7. ドキュメント確認\n\n```bash\nnpm run docs:serve\n```\n\n### 8. データベースの停止\n\n利用が完了したら、以下のコマンドで docker コンテナを停止してください。\n\n```bash\nnpm run db:down\n```\n\n## CI で生成される Excel ファイル\n\nGitHub Actions の `Build and Deploy MkDocs per Branch` ワークフローでは、\nテーブル定義書 (`excel/schema.xlsx`) を自動生成し、Artifacts にアップロードしています。\nワークフロー実行結果ページの **Artifacts** から `excel-\u003cbranch_name\u003e` という名前でダウンロードできます。\n\n## 参考\n\n- [Flyway](https://flywaydb.org/)\n- [tbls](https://github.com/k1LoW/tbls)\n- [The future of tbls and \"Documentation as Code\" / phpconfuk 2023](https://speakerdeck.com/k1low/phpconfuk-2023)\n- [Liam ERD](https://liambx.com/)\n\n## ライセンス\n\n本プロジェクトは [MIT License](LICENSE) の下で公開されています。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemba-yui%2Fsample-mysql-rdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemba-yui%2Fsample-mysql-rdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemba-yui%2Fsample-mysql-rdb/lists"}