froog/silvergraph

从 SilverStripe DataObjects 生成数据模型可视化,显示数据库字段、关系和世系

维护者

详细信息

github.com/froog/SilverGraph

来源

问题

安装: 5 719

依赖项: 0

建议者: 0

安全: 0

星标: 39

关注者: 3

分支: 12

开放问题: 5

类型:silverstripe-vendormodule

0.0.4 2017-02-06 05:40 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:31:00 UTC


README

创建 SilverStripe DataObjects 的数据模型可视化,显示字段、关系和世系。可以输出 .png、.svg 和原始 GraphViz "dot" 格式的图像。具有灵活的配置选项,可以通过命令行和 URL 调用。

SilverGraph example

示例调用: http://example.com/Silvergraph/png?location=cms,framework,mysite

安装

  • Composer/Packagist: 安装 composer,运行 composer require froog/silvergraph (* 为版本) 并访问 ?flush=1 以更新路由表。
  • 手动:下载并解压 silvergraph 为顶级网站目录下的 SilverGraph 文件夹,并访问 ?flush=1 以更新路由表。

在 OSX 上安装

  • 通过 Homebrew 安装 Graphviz: brew install graphviz 并记录位置
  • 将位置添加到您的 _ss_environment.php 文件中,在路径末尾追加 'dot',例如:define('SILVERGRAPH_GRAPHVIZ_PATH', '/usr/local/Cellar/graphviz/2.38.0/bin/dot');
  • 访问 ?flush=1 以更新路由表。

要求

  • SilverStripe 3.0.0+
  • 创建图像:GraphViz(最新版本) https://graphviz.cn/
  • 在 (Debian/Ubuntu) 上安装: apt-get install graphviz

使用

命令行:(在网站根目录下)

  • 默认 png 图像:sake Silvergraph/png > datamodel.png
  • 参数:sake Silvergraph/png location=mysite,cms inherited=1 exclude=SiteTree > datamodel.png
  • 默认 dot 文件:sake Silvergraph/dot > datamodel.dot

浏览器:(以管理员身份登录)

参数

指定查找类的文件夹

  • location=mysite (默认) 仅在 /mysite 文件夹下绘制类
  • location= 绘制每个模块中的所有类(警告 - 可能需要很长时间,并且可能生成大型 .png)
  • location=mysite,mymodule 仅在 /mysite 和 /mymodule 文件夹下绘制类

从图中删除特定类

  • exclude=SiteTree
  • exclude=SiteTree,File

如何详细显示关系

  • relations=0 不显示任何关系
  • relations=1 (默认) 不显示继承关系
  • relations=2 显示继承关系(详细)

如何详细显示字段

  • fields=0 不显示任何字段
  • fields=1 (默认) 仅显示在自身定义的字段
  • fields=2 显示继承字段(详细)

如何详细显示祖先

  • ancestry=0 不显示任何祖先关系
  • ancestry=1 (默认) 显示祖先关系

在图中包含 DataObject

  • include-root=0 (默认) 不绘制 DataObject
  • include-root=1 绘制 DataObject

按模块分组类

  • group=0 (默认) 不要按模块分组
  • group=1 将模块分组到自己的容器中

指定方向图是如何布局的

  • rankdir=x 其中 x 是 TB (默认)LRRLBT(从上到下,从左到右,从右到左,从下到上)