資料庫可視化儀表板

返回文件首頁

資料庫可視化儀表板

本頁集中呈現 MySQL / Schema Automation 的目前進度、資料流、資料表草圖、尚未完成項目與安全邊界。

視覺化進度

Schema Attribute 已可用 C# attribute 描述欄位、索引與註解。
100%
SchemaDefinitionParser 已可解析 C# Class 成 SchemaDefinition。
100%
MySqlSchemaSqlGenerator 已可產生 MySQL 5.6.2 相容 SQL。
100%
ALTER TABLE Dry Run 已可產生新增 Table / Column / Index 的 dry run plan。
100%
Mock Schema Inspector 已可在不連 DB 情境下提供目前 Schema。
100%
SchemaDryRunPlanner 已可比對 expected / current schema。
100%
Schema Initializer DryRun 已可串接 planner 與 ConsoleHost 顯示。
100%
MySQL Query Builder / Row Mapper / Snapshot Assembler 已完成純程式 helper,commit 51cb17c
100%
MySqlConnector Provider 尚未導入套件與真實連線;provider 實作前確認已整理。
0%
真實 information_schema 讀取 尚未連線 DB。
0%
Schema Apply / DDL Executor 尚未允許執行 DDL。
0%
TaskStore 寫入 尚未開始任務歷程持久化。
0%

目前資料庫主線

項目內容
目標讓 C# Class 維護 MySQL 欄位型別、索引與描述,未來由 API / Host 啟動時產生或檢查 Table。
MySQL 版本MySQL 5.6.2
目前階段已完成不連 DB 的 Schema helper,尚未導入真實 provider。
最新程式版本51cb17c
測試數329
安全邊界目前不連線 DB、不讀取真實 information_schema、不執行 DDL、不寫入資料。

Schema Automation 流程

Schema Automation Flow

C# Schema Class
SchemaDefinitionParser
Expected Schema
Dry Run Plan
MySQL information_schema
MySqlSchemaInspector
Current Schema
SQL Preview / ConsoleHost
flowchart LR
    A["C# Schema Class"] --> B["SchemaDefinitionParser"]
    B --> C["Expected Schema"]
    D["MySQL information_schema"] --> E["MySqlSchemaInspector"]
    E --> F["Current Schema"]
    C --> G["SchemaDryRunPlanner"]
    F --> G
    G --> H["Dry Run Plan"]
    H --> I["SQL Preview / ConsoleHost 顯示"]

目前 DE 的真實 DB provider 尚未開始;已完成的是 E 內部所需的 Query Builder、Row Mapper 與 Snapshot Assembler。

模組進度

模組進度說明
Schema Attribute100%已可用 C# attribute 描述欄位、索引與註解。
SchemaDefinitionParser100%已可解析 C# Class 成 SchemaDefinition。
MySqlSchemaSqlGenerator100%已可產生 MySQL 5.6.2 相容 SQL。
ALTER TABLE Dry Run100%已可產生新增 Table / Column / Index 的 dry run plan。
Mock Schema Inspector100%已可在不連 DB 情境下提供目前 Schema。
SchemaDryRunPlanner100%已可比對 expected / current schema。
Schema Initializer DryRun100%已可串接 planner 與 ConsoleHost 顯示。
MySQL Query Builder / Row Mapper / Snapshot Assembler100%已完成純程式 helper,commit 51cb17c
MySqlConnector Provider0%尚未導入套件與真實連線;provider 實作前確認已整理。
真實 information_schema 讀取0%尚未連線 DB。
Schema Apply / DDL Executor0%尚未允許執行 DDL。
TaskStore 寫入0%尚未開始任務歷程持久化。

資料表草圖

資料表定位目前狀態
TaskExecution任務主檔,記錄 TaskId、WorkflowId、Status、StartTime、EndTime、Result。草案已整理,尚未真實建表。
NodeExecution節點歷程,記錄 NodeId、NodeName、Status、RetryCount、TimeTakenMs、ErrorCode。草案已整理,尚未真實建表。
CommandExecutionAdapter 指令紀錄,記錄 DeviceId、CommandName、RawRequest、RawResponse。草案已整理,尚未真實建表。
LogTrace補充 Log / Trace,記錄 HostName、Operator、AppVersion、Exception。草案已整理,尚未真實建表。

真實 DB 前必須確認

確認項原因
是否允許導入 MySqlConnector新增核心套件需使用者確認。
.csproj 是否可修改導入套件會改變程式 repo 專案檔。
連線資訊提供方式密碼不得寫入 repo,建議使用環境變數或本機未追蹤設定檔。
DB 使用者權限讀取 information_schema 與未來 DDL 權限需分開。
是否只做 inspect第一版建議只讀 metadata,不執行 DDL。
錯誤輸出格式連線失敗、權限不足、schema 不存在需標準化。

目前風險

風險建議處理
MySQL 5.6.2 metadata 欄位差異先用唯讀 provider 做查詢驗證,不直接 apply。
真實 DB 權限不足先建立行前檢查表,確認 user 權限。
自動建表誤執行Apply 模式需另行確認,第一版只 dry run。
文件與程式不同步每次程式 repo push 後同步 progress.json 與文件網站。
首頁資訊過多由本頁承接資料庫細節,後續再精簡首頁。

建議下一步

已完成「MySqlSchemaInspector 真實 DB provider 實作前確認」。建議下一步先做程式 repo 結構檢查,確認是否新增 Infrastructure 專案、MySqlConnector 放置位置與設定來源,再決定是否導入套件。

返回文件首頁