huluti/doctrine-relations-analyser

一个提供分析 Doctrine 关系的工具的 Symfony 扩展包

资助包维护!
Liberapay

安装: 280

依赖者: 0

建议者: 0

安全: 0

星标: 9

关注者: 1

分支: 1

开放问题: 2

类型:symfony-bundle

0.5.1 2024-07-25 07:36 UTC

This package is auto-updated.

Last update: 2024-09-25 08:04:02 UTC


README

Packagist Version Packagist License Packagist Downloads

概述

Doctrine 关系分析器是一个为分析并可视化 Symfony 项目中 Doctrine ORM 实体之间级联关系的工具。它帮助开发者理解删除操作如何在相关实体之间传播,并协助识别数据管理策略中的潜在问题或优化。

注意

为什么这很重要?

管理级联操作,尤其是删除操作,至关重要,以避免意外数据丢失。此工具提供了一个可读性强的摘要,帮助开发者审查和理解这些关系,确保它们是有意为之且正确实现的。

警告

该项目仍在开发中。欢迎贡献和反馈。

使用方法

需求

  • PHP >= 8.1
  • Symfony >= 6.4
  • Doctrine 2|3
  • Graphviz
    • 对于 Alpine Linux: graphviz fontconfig ttf-freefont

安装

使用 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。

贡献

欢迎贡献!如果您有改进的想法、新功能或错误修复,请打开一个问题或拉取请求。

有趣阅读

捐赠

喜欢这个工具吗?想要支持其开发吗?请随意捐赠 🤗

Liberapay receiving Liberapay patrons

许可证

此项目采用 MIT 许可证。