• Stars
    star
    23
  • Rank 1,016,462 (Top 21 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Laravel package to dump SQL queries, related EXPLAIN and location in code in different formats.

SQL Dumper

Author PHP Version Laravel Version Build Status Coverage Status Quality Score Latest Version Software License PSR-12 Total Downloads

Laravel package to dump SQL queries, related EXPLAIN and location in code in different formats:

  • HTML
  • markdown
  • email
  • console
  • log

Install

Via Composer

composer require --dev cerbero/sql-dumper

To customize some aspects of this package, the config/sql_dumper.php file can optionally be generated via:

php artisan vendor:publish --tag=sql-dumper

Usage

The easiest way to dump a SQL query is calling the helper functions. There is a helper for each dumper:

  • ds() dump SQL queries with the dumper specified in config/sql_dumper.php as default dumper
  • dsConsole() dump SQL queries with the console dumper
  • dsEmail() dump SQL queries with the email dumper
  • dsHtml() dump SQL queries with the html dumper
  • dsLog() dump SQL queries with the log dumper
  • dsMarkdown() dump SQL queries with the markdown dumper

All SQL queries executed within the helper's closure are dumped:

$user = ds(function () {
    return User::with('posts')->find(1);
});

Depending on dumper and database driver, SQL queries dumps will look like:

console dump
email or HTML file or markdown file dump
log file dump

Along with the default dumper, in config/sql_dumper.php we may customize the SQL dumpers default behavior. For example, the HTML dump default path is /storage/sql_dump_TIMESTAMP.html but we can set a different one:

return [
    HtmlDumper::class => [
        'path' => storage_path('foo.html'),
    ],
];

Also templates and email recipient are customizable, please refer to the [configuration][link-config] for further details.


This package includes a middleware to easily dump SQL queries in routes or group of routes. The middleware can be registered in app/Http/Kernel.php:

protected $routeMiddleware = [
    'sql.dump' => \Cerbero\SqlDumper\Http\Middleware\SqlDump::class,
];

Then we can add it to routes to run the default dumper:

Route::middleware('sql.dump')->get('users', function () {
    return User::all();
});

If we want to use a different dumper, we can pass it to the middleware as a parameter:

Route::middleware('sql.dump:log')->get('users', function () {
    return User::all();
});

The valid parameters are:

  • console
  • email
  • html
  • log
  • markdown

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

More Repositories

1

json-parser

🧩 Zero-dependencies lazy parser to read JSON of any dimension and from any source in a memory-efficient way.
PHP
676
star
2

lazy-json

🐼 Framework-agnostic package to load JSON of any dimension and from any source into Laravel lazy collections recursively.
PHP
235
star
3

enum

🎲 Zero-dependencies PHP library to supercharge enum functionalities.
PHP
188
star
4

command-validator

Validate Laravel console commands input.
PHP
160
star
5

laravel-enum

Discontinued. Enum generator for Laravel.
PHP
136
star
6

eloquent-inspector

🕵️ Inspect Laravel Eloquent models to collect properties, relationships and more.
PHP
115
star
7

Workflow

Laravel 5 package to create extendible and maintainable apps by harnessing the power of pipelines.
PHP
109
star
8

query-filters

Laravel package to filter Eloquent model records based on query parameters. Fully inspired by the Laracasts episode https://laracasts.com/series/eloquent-techniques/episodes/4
PHP
84
star
9

lazy-json-pages

📜 Framework-agnostic package to load items from any paginated JSON API into a Laravel lazy collection via async HTTP requests.
PHP
82
star
10

notifiable-exception

Laravel package to send notifications when some exceptions are thrown.
PHP
76
star
11

exception-handler

Extend the Laravel exception handler to let service providers determine how custom exceptions should be handled.
PHP
60
star
12

laravel-dto

Data Transfer Object (DTO) for Laravel
PHP
55
star
13

Auth

Laravel authentication module.
PHP
49
star
14

octane-testbench

⛽ Set of utilities to test Laravel applications powered by Octane.
PHP
42
star
15

pest-plugin-laravel-octane

⛽ Pest plugin to test Laravel applications powered by Octane.
PHP
21
star
16

json-objects

Extract objects from large JSON files, endpoints or streams while saving memory.
PHP
20
star
17

dto

Data Transfer Object (DTO).
PHP
16
star
18

Transformer

Framework agnostic package to transform objects and arrays by manipulating, casting and mapping their properties.
PHP
14
star
19

Sublime-Text-PHP-and-Laravel-Snippets

Sublime Text snippets to ease development with PHP and Laravel.
13
star
20

console-tasker

🦾 Laravel package to create lean, powerful, idempotent and beautiful Artisan commands.
PHP
10
star
21

workflow-demo

Demo for Workflow repository
CSS
9
star
22

Date

Framework agnostic and easy to use tool to work with dates.
PHP
6
star
23

start

Mac service written in Automator to run several softwares and commands by pressing a hot key.
AppleScript
2
star
24

fluent-api

Framework agnostic starting point to perform fluent calls to any API.
PHP
1
star
25

Affiliate

PHP
1
star