SchemaSpy是一個資料庫元資料分析器。它可以幫助您的資料庫管理員和開發人員視覺化、導航和理解您的資料模型。借助易於使用的基於 HTML 的報告,遍歷實體關係圖從未如此簡單。我們的產品展示位於 http://schemaspy.org/sample/index.html。
安裝
SchemaSpy 是一個沒有 GUI 的獨立應用程式。只需下載最新的 JAR 檔案或 Docker 映像即可開始使用!若要從 Maven 使用 SchemaSpy,請參閱下面的 Maven 章節。
# replace '6.2.4' with latest version
curl -L https://github.com/schemaspy/schemaspy/releases/download/v6.2.4/schemaspy-6.2.4.jar
--output ~/Downloads/schemaspy.jar
對於未發布的錯誤修復和正在進行的功能,請下載我們的快照 JAR 或使用 Docker 標籤snapshot
梅文
SchemaSpy 發布兩種類型的 JAR 檔案:裸機 JAR 和包含所有依賴項的胖 JAR。這兩部 JAR 都發佈到 Maven Central。 fat JAR 也附加到 GitHub 上的版本。本頁頂部的「Maven Central」徽章將帶您直接進入 Maven Central 的最新版本。
兩工件的Maven GAV如下:
- 裸機 JAR:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← 注意app
分類器
快速啟動
假設您使用的是 PostgreSQL(11 或更高版本)。首先,下載他們的 JDBC 驅動程式。
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
然後針對您的資料庫執行 SchemaSpy,您就可以在DIRECTORY/index.html
中瀏覽它了。
java -jar ~/Downloads/schemaspy.jar
-t pgsql11
-dp ~/Downloads/jdbc-driver.jar
-db DATABASE
-host SERVER
-port 5432
-u USER
-p PASSWORD
-o DIRECTORY
如果您沒有使用 PostgreSQL,請不要驚慌! SchemaSpy 開箱即用,支援十多種不同的資料庫。使用-dbhelp
列出它們。還不夠嗎?只要您的資料庫有 JDBC 驅動程序,您就可以將其插入 SchemaSpy。
文件和常見問題解答
我們在「閱讀文件」上託管我們的文件。請務必查看有關解決常見問題的部分。
主要用例
SchemaSpy 涵蓋了許多資料庫分析和文件的用例。請務必查看本自述文件後面社區提供的指南。
按需資料庫文檔
記錄資料庫的首選方法是透過實體關係 (ER) 圖。然而,手動繪製這些圖表是一個非常耗時且容易出錯的過程,因此我們在實踐中幾乎不會繪製它們。當繪製圖表時,它們很少保持最新狀態。有了 SchemaSpy,這不再是問題。這些圖表可以快速生成,甚至可以作為 CI/CD 工作流程的一部分,以確保其始終保持最新狀態。
您的資料庫的數字
SchemaSpy 可以收集各種有趣的統計資料來描述資料庫結構的形狀和形式。直接在報告中深入了解這些統計數據,或將其匯出到 Excel 或 CSV 以進行進一步的 QA 分析。
資料保密
如今,公司的數據可能是他們最有價值的資產。由於 SchemaSpy 僅讀取結構訊息,因此它在空資料庫副本上也能正常運作。這意味著可以毫無顧慮地分享該報告以供第三方分析。
檢測次優結構
SchemaSpy 融合了有關資料庫設計最佳實踐的知識。它可以定位並報告異常情況,例如遺失索引、隱含關係和孤立表。
社群
歡迎來到 SchemaSpy 社群!只要閱讀此文件或使用該工具,就意味著您是我們社區的一部分,並為專案的未來做出貢獻。我們很高興有你和我們在一起!
我們的一些社群成員付出了額外的努力與更多人分享 SchemaSpy,要求他們的公司提供經濟援助,或決定改進該軟體。我們希望有足夠的空間來單獨感謝你們每一個人,因為每一個 Github 明星、推文或其他活動都提醒我們,我們的工作受到讚賞。
特別感謝
用於建立 SchemaSpy 的前五個版本:
從那時起,為了讓 SchemaSpy 永久存在:
用於為社區創建教程和指南:
- ?? SQLite 視覺化SQLite 資料庫Schemaspy by Geek 教程
- ??自動儲存文件和資料並查看 SchemaSpy,作者:Pavel Tišnovský
- ??透過 SchemaSpy 進行數據銀行分析,作者:Michael Jentsch
- ??快速提示:Eine Datenbank Struktur verstehen mit Hilfe von schemaspy 作者:von Irving Tschepke
- ?? ▶️ MGS Educación、Tecnología y Juventud 的 Ejemplo de Uso de schemaspy
- ?? ▶️ Inforgledys 提供的資料和 schemaSpy 基礎的通用模型
- ?? Jesus Jimenez Herrera 的 SchemaSpy 資料基礎紀錄片
- ?? ¿ ... SchemaSpy al rescate 作者:Víctor Madrid
- ?? ▶️ Une DOC AUTOMATIQUE avec SchemaSpy (et SYMFONY et GITLAB) by YoanDev
- ??自動文件 d'une App Symfony 和 SchemaSpy 和 GitLab !透過 YoanDev
- ?? Data 4 提供的 SchemaSpy 文件記錄器!
- ?? SchemaSpyでデータベースのドキュメントを生成してみた 作者:坂井裕介
- ?? SchemaSpyでER図を生成する 作者:@onozaty
- ?? ▶️ SchemaSpy - 方便使用和使用!作者:Dev 多任務
- ?? Documentando bancos com Schemaspy 作者:Krisnamourt Silva
- ?? แนะนำ SchemaSpy 和 @icegotcha 的資料庫
- ?? Hướng dẫn sử dụng SchemaSpy by Pham Xu Dung
- John Ferguson Smart 的 Java Power Tools
- 從整體到微服務:在理清系統的同時保持生產力作者:Sam Newman
- 透過 Robin Tegg 的 SchemaSpy 記錄資料庫
- 使用 Orlando L Otero 的 SchemaSpy 記錄您的關聯式資料庫
- 如何利用Cybrosys技術創建ERD(實體關係圖)
- 如何使用 Data 4 的 SchemaSpy 記錄資料庫!
- 如何使用 SchemaSpy 記錄資料庫 作者:Gustavo Ponce
- 如何使用 SchemaSpy 將 PostgreSQL 模式視覺化為 SVG,作者:Willem van den Ende
- 安裝 SchemaSpy 來記錄資料庫,作者:@SimonGoring
- 使用 schemaspy 繪製的 Netbox 資料庫架構圖,作者:Jason Lavoie
- Magnus Brun Falch 在幾分鐘內完成生產級 PostgreSQL 文檔
- Schemaspy – 為您的資料庫建立文檔,作者:Petr Hnilica
- SchemaSpy-HOWTO 作者:@dpapathanasiou
- @rieckpil 使用 SchemaSpy 的簡單資料庫文檔
- 資料和 Schemaspy 的用例:資料庫管理 作者:Juilee Talele
科學用法
我們很自豪地註意到 SchemaSpy 可以協助研究人員的工作。
- Dhomas Hatta Fudholi 等人提出的資料驅動的動態本體。
- Annibale Panichella 等人對最先進的基於搜尋的測試案例產生器進行了大規模的實證比較。
- 向 ZFIN 提交資料的科學家指南,作者:Douglas G Howe
- Andrea Arcuri 等人為具有環境依賴性的類別自動產生單元測試。
- BiG-SLiCE:Satria A Kautsar 等人開發的一種高度可擴展的工具,繪製了 120 萬個生物合成基因簇的多樣性圖譜。
- emrKBQA:Preethi Raghavan 等人的臨床知識庫問答資料集。
- EpiSurf:Anna Bernasconi 等人的元資料驅動搜尋伺服器,用於分析 SARS-CoV-2 和其他病毒物種表位內的胺基酸變化。
- Aiko Yamashita 結合基於基準的指標分析、軟體視覺化和專家評估進行軟體品質評估的經驗
- FOCUSPEARL 版本 5.5.5 - Maarten C Braakhekke 等人對資料庫和介面的技術描述。
- 從整體系統到微服務:Davide Taibi 和 Kari Systä 基於流程挖掘的分解框架
- GEM:Naveen Ashish 等人的 GAAIN 實體映射器。
- Healthsheet:Negar Rostamzadeh 等人開發的健康資料集透明度工件。
- Aphia——多個線上和分類學導向資料庫背後的平台——如何為分類學界和生物多樣性資訊學領域服務,作者:Leen Vandepette 等人。
- Annibale Panichella 等人的多標準測試案例產生的增量控制依賴性前沿探索。
- Eric Zapletal 等人將多模式放射治療數據整合到 i2b2 中。
- 臨床資料倉儲與臨床資訊系統整合的方法:Eric Zapletal 等人的 HEGP 案例。
- NakeDB:資料庫架構視覺化 作者:Luis Miguel Cort ́es-Peña
- OCTOPUS 資料庫 (v.2),作者:Alexandru T. Codilean 等。
- Arnoldo José Müller Molina 和 Takeshi Shinohara 論保護自由軟體程式的近似匹配
- 關於開源軟體中關係資料庫模式的質量,作者:Fabien Coelho 等人。
- 透過分析病患 EHR 記錄來預測再入院(Anshik)
- Vassilis Polychronopoulos 和 Abhinav Venkateswar Venkataraman 使用 IMDB 數據預測演員合作
- 機率關係模型基準產生:Mouna Ben Ishak 等人的原理與應用。
- 遷移到微服務架構的流程、動機與問題:Davide Taibi 等人的實證調查
- 從電子健康記錄中實現機器學習的潛力,作者:Haoyuan Zhang 等人。
- José Miguel Rojas 等人提出的基於搜尋的單元測試生成中的播種策略。
- Gordon Fraser 和 Andrea Arcuri 在軟體測試中提供了可靠的經驗證據
- 斑馬魚資訊網路:Douglas G Howe 等人的主要基因頁面和主頁更新
- OMOP 通用資料模型中 MIMIC 資料庫的轉換和評估:Nicolas Paris 等人的開發和可用性研究。
- Una base de datos espacial integrada en un Sistema de Información Geográfica para la gestión del terroir: un nuevo sistema concone e interactive by Alberto Lázaro-López 等人。
- Normi S Awang Abu Bakar 和 Clive Boughton 使用測量工具組合從開源專案中提取指標
- Karl Gottfried 等人使用 Tableau 儀表板作為 MIMIC-III 資料的視覺化工具。
- 斑馬魚資訊網絡,Yvonne M Bradford 等人用於斑馬魚研究的知識庫。
若要引用 SchemaSpy,請使用:
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
LaTeX 用戶的 BibTeX 條目是:
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
建構說明
應用
SchemaSpy 是使用 Maven 建置的,我們使用 Maven 包裝器。
Windows mvnw.cmd package
Linux ./mvnw package
生成的應用程式可以在target
中找到
分析中
您需要自己的 SonarQube:
https://hub.docker.com/_/sonarqube/
Windows mvnw.cmd -P sonar clean verify -Dsonar.host.url=http://$(boot2docker ip):9000 -Dsonar.jdbc.url="jdbc:h2:tcp://$(boot2docker ip)/sonar"
Linux ./mvnw -P sonar clean verify
觀看結果:
Linux http://localhost:9000
Windows http://$(boot2docker ip):9000
文件
使用Python構建
建立venv
安裝依賴項pip install -r docs/requirements.txt
導航到docs
Windows make.bat clean && make.bat html
Linux make clean html
產生的文檔可以在docs/build/html
中找到