huluti / doctrine-relations-analyser
一个提供分析 Doctrine 关系的工具的 Symfony 扩展包
0.5.1
2024-07-25 07:36 UTC
Requires
- php: >=8.1
- doctrine/doctrine-bundle: ^2.12
- doctrine/orm: ^2.0|^3.0
- graphp/graph: ^1@dev
- graphp/graphviz: ^1@dev
- symfony/console: ^6.4|^7.0
- symfony/dependency-injection: ^6.4|^7.0
- symfony/filesystem: ^6.4|^7.0
- symfony/framework-bundle: ^6.4|^7.0
- symfony/http-kernel: ^6.4|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9
- symfony/phpunit-bridge: ^6.4|^7.0
- symfony/yaml: ^6.4|^7.0
README
概述
Doctrine 关系分析器是一个为分析并可视化 Symfony 项目中 Doctrine ORM 实体之间级联关系的工具。它帮助开发者理解删除操作如何在相关实体之间传播,并协助识别数据管理策略中的潜在问题或优化。
注意
为什么这很重要?
管理级联操作,尤其是删除操作,至关重要,以避免意外数据丢失。此工具提供了一个可读性强的摘要,帮助开发者审查和理解这些关系,确保它们是有意为之且正确实现的。
警告
该项目仍在开发中。欢迎贡献和反馈。
使用方法
需求
- PHP >= 8.1
- Symfony >= 6.4
- Doctrine 2|3
- Graphviz
- 对于 Alpine Linux:
graphviz fontconfig ttf-freefont
- 对于 Alpine Linux:
安装
使用 Symfony Flex 的应用程序
打开命令行,进入您的项目目录并执行以下命令
composer require --dev huluti/doctrine-relations-analyser
未使用 Symfony Flex 的应用程序
步骤 1:下载扩展包
打开命令行,进入您的项目目录并执行以下命令以下载此扩展包的最新稳定版本
composer require --dev huluti/doctrine-relations-analyser
步骤 2:启用扩展包
然后,通过将其添加到项目 config/bundles.php
文件中注册的扩展包列表中来启用扩展包
// config/bundles.php return [ // ... DoctrineRelationsAnalyserBundle\DoctrineRelationsAnalyserBundle::class => ['dev' => true, 'test' => true], ];
使用方法
php bin/console doctrine-relations-analyser:analyse
示例
检查两个实体在图中的删除关系
php bin/console doctrine-relations-analyser:analyse -o data/ -g --entities="App\\Entity\\User,App\\Entity\\Workspace" -m deletions
命令行参数
- --entities: 可选。要分析的实体的逗号分隔列表
- -m, --mode: 可选。分析模式(all, deletions)[默认: "all"]
- -o, --output: 可选。生成报告的输出路径
- -g, --graph: 可选。生成 Graphviz 图
- --graph-format: 可选。图形图像格式(png, svg)[默认: "png"]
- -V, --version: 可选。显示给定命令的帮助信息。如果没有给出命令,显示列表命令的帮助信息
- -h, --help: 可选。显示此应用程序版本
限制
- 目前仅支持第一个 joinColumn。
贡献
欢迎贡献!如果您有改进的想法、新功能或错误修复,请打开一个问题或拉取请求。
有趣阅读
捐赠
喜欢这个工具吗?想要支持其开发吗?请随意捐赠 🤗
许可证
此项目采用 MIT 许可证。