tourze / doctrine-entity-markdown-bundle
生成实体数据字典
0.0.3
2025-04-25 09:52 UTC
Requires
- php: ^8.1
- doctrine/doctrine-bundle: ^2.13
- doctrine/orm: ^2.20 || ^3.0
- psr/log: ^3|^2|^1
- symfony/config: ^6.4
- symfony/console: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-kernel: ^6.4
- symfony/yaml: ^6.4 || ^7.1
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-04-25 19:11:25 UTC
README
该 Bundle 用于从 Doctrine 实体生成 Markdown 格式的数据字典。
功能
- 生成所有数据库表格的清单
- 为每个表格生成详细的字段信息,包括字段类型、长度、是否可空、默认值、注释等
- 处理实体之间的关联关系
安装
composer require tourze/doctrine-entity-markdown-bundle
配置
在 config/bundles.php
中添加:
return [ // ... Tourze\DoctrineEntityMarkdownBundle\DoctrineEntityMarkdownBundle::class => ['all' => true], ];
使用方法
命令行
使用以下命令生成 Markdown 格式的数据字典:
bin/console doctrine:generate:markdown
在代码中使用
use Tourze\DoctrineEntityMarkdownBundle\Service\EntityService; class YourController { public function __construct( private readonly EntityService $entityService, ) { } public function generateDictionary() { // 获取所有表格清单 $tableList = $this->entityService->getAllTableNames(); // 获取特定实体的元数据 $userMetadata = $this->entityService->getEntityMetadata('App\Entity\User'); // 获取所有实体的元数据 $allMetadata = $this->entityService->getAllEntitiesMetadata(); // 生成完整的数据字典 $fullMarkdown = $this->entityService->generateDatabaseMarkdown(); } }
测试
运行单元测试:
./vendor/bin/phpunit packages/doctrine-entity-markdown-bundle/tests