ferleal/laravel-adminer

Adminer (by Jakub Vrana) wrapper for Laravel 5.8+

1.0.1 2020-03-25 00:00 UTC

This package is auto-updated.

Last update: 2024-05-25 10:04:42 UTC


README

Total Downloads Latest Stable Version License

Introduction

Laravel 5.8 + wrapper for Adminer. Adminer is a fast single-file database manager/explorer tool written by Jakub Vrana. It's a great replacement for PhpMyAdmin (also supports PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB).

This package is meant to be used with Laravel as an in-built database manager/explorer. It comes with support for Adminer plugins and themes, which super-charges an already powerful tool.

This package is inspired by: miroc/Laravel-Adminer, senaranya / laravel-adminer
and onecentlin/laravel-adminer

The reason to add this package is to keep it up-to-date with Adminer and add plugin support with SQLITE.

Database view with default theme

Database with default theme

Table view with 'rmsoft' theme

Table with 'rmsoft' theme

Plugins Included

Tables-filter

Adds ability to do (fuzzy) search on table names. It's especially useful when you have a large set of tables

tables-filter

Installation

To use this package, run:

composer require ferleal/laravel-adminer

To use Adminer to Laravel routes (e.g. /adminer), update routes/web.php:

To autologin Adminer with Laravel default connection:

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@auto');

If you want to manually provide credentials on the UI instead:

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@index');

if you want to use sqlite you can use is it like this, just watch out to leave it open I usualy only leave it for internal ip.

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@sqlite');

Of course, you can add any middleware of your choice to restrict usage:

Route::any('adminer', '\Ferleal\Adminer\Http\Controllers\AdminerController@auto')
    ->middleware(['admin']);

Disabling CSRF Middleware

Adminer doesn't work with VerifyCsrfToken middleware, so it has to be disabled on its route. In VerifyCsrfToken.php disable CSRF by adding adminer route to $except array:

protected $except = [
    'adminer'
];

To add plugins

Adminer supports a host of plugins. See CONTRIBUTING to add a new plugin

Adminer Theme (Optional)

Publish theme file (You may use the default theme without executing this action)

php artisan vendor:publish --provider="Ferleal\Adminer\AdminerServiceProvider"

You may download adminer.css from Adminer or create custom style, and place it into public/vendor/adminer folder.

Countions

Beware on leaving Adminer open on production it should used in local or behind a proxy and protected with Laravel Auth middlewares.