cerbero / sql-dumper
Laravel包,用于导出SQL查询。
1.2.0
2021-01-14 08:10 UTC
Requires
- php: ^7.1||^8.0
- illuminate/container: >=5.6
- illuminate/database: >=5.6
- illuminate/mail: >=5.6
- illuminate/support: >=5.6
- jdorn/sql-formatter: ^1.2
- symfony/console: >=4.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: >=3.6
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-09 14:22:51 UTC
README
Laravel包,用于导出SQL查询,相关EXPLAIN
和代码中的位置,以不同格式显示
- HTML
- markdown
- 电子邮件
- 控制台
- 日志
安装
通过Composer
composer require --dev cerbero/sql-dumper
要自定义此包的一些方面,可以通过以下方式生成可选的config/sql_dumper.php
文件:
php artisan vendor:publish --tag=sql-dumper
用法
导出SQL查询最简单的方法是调用辅助函数。每个导出器都有一个辅助函数
ds()
使用在config/sql_dumper.php
中指定的默认导出器导出SQL查询dsConsole()
使用控制台导出器导出SQL查询dsEmail()
使用电子邮件导出器导出SQL查询dsHtml()
使用HTML导出器导出SQL查询dsLog()
使用日志导出器导出SQL查询dsMarkdown()
使用Markdown导出器导出SQL查询
在辅助函数的闭包中执行的任何SQL查询都将被导出
$user = ds(function () { return User::with('posts')->find(1); });
根据导出器和数据库驱动程序,SQL查询的导出将如下所示
除了默认导出器之外,我们还可以在config/sql_dumper.php
中自定义SQL导出器的默认行为。例如,HTML导出的默认路径是/storage/sql_dump_TIMESTAMP.html
,但我们可以设置不同的路径
return [ HtmlDumper::class => [ 'path' => storage_path('foo.html'), ], ];
还可以自定义模板和电子邮件收件人,有关详细信息,请参阅[配置][link-config]。
此包包含一个中间件,可以轻松地在路由或路由组中导出SQL查询。该中间件可以在app/Http/Kernel.php
中注册
protected $routeMiddleware = [ 'sql.dump' => \Cerbero\SqlDumper\Http\Middleware\SqlDump::class, ];
然后我们可以将其添加到路由中以运行默认导出器
Route::middleware('sql.dump')->get('users', function () { return User::all(); });
如果我们想使用不同的导出器,我们可以将其作为参数传递给中间件
Route::middleware('sql.dump:log')->get('users', function () { return User::all(); });
有效的参数是
控制台
电子邮件
html
日志
markdown
变更日志
有关最近更改的信息,请参阅变更日志。
测试
$ composer test
贡献
安全
如果您发现任何与安全相关的问题,请通过电子邮件andrea.marco.sartori@gmail.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。