daniel-werner / laravel-schemacrawler
Laravel的SchemaCrawler包装器
Requires
- php: ^7.1
- symfony/process: ^4.1|^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- liip/rmt: ^1.5
- orchestra/testbench: 3.8.*
- phpmd/phpmd: ^2.7
- phpstan/phpstan: ^0.11.16
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-08-30 01:21:07 UTC
README
此包是SchemaCrawler的包装器。[SchemaCrawler](https://www.schemacrawler.com/)。它允许您从数据库直接生成ER图。它可以从默认模式创建数据库图,无需任何配置,但也提供了更高级使用的配置选项。
要求
此包包含内置的SchemaCrawler,并需要安装Java版本8和Graphviz。
MacOS用户可以通过HomeBrew安装Graphviz
brew install graphviz
Homestead或Ubuntu用户可以通过包管理器安装它
sudo apt-get install graphviz
安装
您可以通过composer安装此包
composer require daniel-werner/laravel-schemacrawler --dev
用法
您可以使用控制台命令或访问/schema
URL来生成图。
控制台命令
php artisan schema:generate
运行此命令将生成默认配置数据库的PDF版本,将schema.pdf
放置在storage/app/
目录中。
以下是一些可能的配置选项:
--output-file[=OUTPUT-FILE] [default: "schema.pdf"] The name of the generated file
--output-format[=OUTPUT-FORMAT] [default: "pdf"] The output file type, possible values: pdf, png, svg, html
--connection[=CONNECTION] [default: "default"] The connection name to use for diagram generation
--info-level[=INFO-LEVEL] [default: "standard"] Info level for SchemaCrawler, possible values are :detailed, maximum, minimum, standard, unknown
--command[=COMMAND] [default: "schema"] Command for the SchemaCrawler
以下命令可用:
brief
显示基本模式信息,包括表、视图和过程、列、主键和外键
count
显示表中的行数
details
显示模式的最大细节,包括权限和权限、触发器和检查约束的详细信息
dump
显示表中的所有行数据
lint
在数据库模式中查找lint(不符合编码标准和约定)
list
显示模式对象的列表
quickdump
显示表中的所有行数据,但行顺序没有保证 - 这可以用于最小信息级别以提高速度
schema
显示模式通常需要的详细信息,包括表、视图和过程的详细信息、列、主键、索引、外键和触发器
URL使用
默认情况下,该包在您的应用程序中注册了/schema
路由。访问此URL,该包将生成默认数据库的PDF版本。
默认配置可以通过以下查询参数覆盖(例如/schema?output_file="database.pdf"
)
output_file
生成的文件名
output_format
输出文件类型,可能的值:pdf、png、svg、html
connection
用于生成图的数据连接名称
info_level
SchemaCrawler的信息级别,可能的值是:详细、最大、最小、标准、未知
command
- 请参见上面的可用命令
配置
上述详细配置选项的默认值已设置在包的配置文件中。如果您想更改这些默认值,可以使用以下命令发布配置文件:
php artisan vendor:publish --provider="DanielWerner\LaravelSchemaCrawler\LaravelSchemaCrawlerServiceProvider"
上述命令将laravel-schemacrawler.php
文件发布到您应用程序的config
目录。
输出示例
这是我的宠物项目Tracy的数据库模式。
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件vernerd@gmail.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。
Laravel包模板
此包是使用Laravel包模板生成的。