Skip to content

SeeFTのSchemaSpyを導入するER図を作成する #243

@taminororo

Description

@taminororo

開発概要

目的

  • 現状SeeFTのER図が存在せず、全体像の把握がコード依存になっているため、可視化された資料を作成したい
  • 新規メンバーやER図に不慣れな人でも、SeeFTのDB構造(テーブル間の関係性)を一目で理解できるようにする

開発期間

  • 開始日:12/13
  • 締切日:1/15

考えられる開発内容

  • mysql/db/ 配下のSQLファイル(またはGoのstruct)を解析し、テーブル定義を洗い出す
  • DB構造を可視化するため、Mermaid記法(erDiagram)でコードを作成する
    • マスタ系(Years, Places等)、ユーザー系、タスク・シフト系、レスキュー系で色分けを行うなど、視認性を考慮する
  • 作成したER図を画像化(PNGまたはSVG)し、docs ディレクトリまたは Wiki に保存する
    • 必要であれば Graphviz 等を使用して、カラム間の結合関係(PK/FK)が明確なバージョンも作成する
  • Pull Requestを作成し、認識にズレがないかレビューを受ける
  • (できれば)主要テーブルとリレーションについての解説文を作成する(README.md または Wikiへの追記)
    • 特に Shifts テーブルの依存関係や、3種類の Rescues の違いについて明記する

備考

  • 使用ツール案: Mermaid Live Editor, Graphviz Online
  • 参考情報:
    • users テーブルを中心に departments, bureaus 等が紐づく
    • tasksshifts がトランザクションの中心
    • rescues は用件(質問・人手不足・トラブル)によってテーブルが分かれている点に注意

参考

開発の流れ

  1. PMにIssue(タスク)をもらう
  2. 開発をする(↓の「リンク」の『開発のやり方』を見よう!)
  3. チェックボックスを押していこう
  4. ヤバい状況になったらIssueの右側にあるStatusを「Help」にしてPMにSlackで連絡しよう
  5. チェックボックスが全部押せたらプルリクを作ろう
  6. レビューを待とう
  7. 修正点があれば修正しよう。なければPMがマージします!お疲れ様!

SeeFTのタスク管理のルール

  1. タスクは全てGit-Hub Projectで管理する
  2. 全てのタスクに期日を決める
  3. 毎週タスクの進捗を確認する(MTに出られない人はSlackで報告)
  4. 毎週忙しさ(消化できるタスク量)を共有する
  5. Helpは余裕のある人がいれば巻き取る。いなければ期日を変更する

リンク

Metadata

Metadata

Assignees

Labels

Size-L開発時間の目安は20時間✨Databaseデータベースのタスク. 主にPostgreSQLを使用優先度2Best・ここまでできたら最高・できたら枠

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions