Adminer database management tool for your Laravel application.

Overview


Laravel Adminer

Laravel Adminer

Adminer database management tool for your Laravel application.

GitHub tag (latest SemVer) GitHub

Table of Contents

Introduction

What is Adminer?

Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. For more information visit Adminer website. Adminer is available for MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB.

What is Laravel Adminer?

This package is a wrapper around Adminer, it makes Adminer easy to setup, configure, customize and use within your Laravel application.

Features

  • Current Adminer version used is: 4.7.7.
  • Supports both Adminer and Adminer Editor.
  • Plugins are integrated easily.
  • Alternative designs shipped with this package.
  • Custom designs are also supported and can be added easily.
  • No VerifyCsrfToken middleware file modification is required.

Installation

Install the package via composer:

composer require moharrum/laravel-adminer

Edit config/app.php, add package service provider (ignore this step if you have package discovery enabled):

'providers' => [
    Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider::class,
]

Finally, publish the configuration file:

php artisan vendor:publish --provider="Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider"

CSRF token middleware

If you encounter a TokenMismatchException when opening the page for the first time, or when taking an action after session has expired refresh the page.

Usage

  • Application name

    You may specify if you want Laravel Adminer to display application name from .env file or a custom value:

'application_defaults' => [
    'name' => [
        'use_env_default' => false,

        'custom' => 'Laravel Adminer',
    ],
],
  • Adminer Manager

    enabled is used to enable or disable automatic route registration, if you wish to register your routes manually, set enabled to false. Additionally, you must specify route name and path in the route section. Optionally, you may specify an alternative design in the style section.

    'manager' => [
        'enabled' => true,

        'route' => [
            'name' => 'adminer.manager.index',
            'path' => 'adminer/manager',

            'middleware' => [
                'web',
            ],
        ],

        'style' => 'vendor/laravel-adminer/styles/pepa-linha/adminer.css',
    ],
  • Adminer Editor

    Adminer Editor is both easy-to-use and user-friendly database data editing tool written in PHP. It is suitable for common users, as it provides high-level data manipulation.

'editor' => [
    'enabled' => false,

    'parameters' => [
        'connection' => env('DB_CONNECTION', null),
        'database' => env('DB_DATABASE', null),
        'host' => env('DB_HOST', null),
        'port' => env('DB_PORT', null),
    ],

    'route' => [
        'name' => 'adminer.editor.index',
        'path' => 'adminer/editor',

        'middleware' => [
            'web',
        ],
    ],

    'style' => 'vendor/laravel-adminer/styles/pepa-linha/adminer.css',
],
  • Plugins

    A list of plugins is available in the plugins section, the list is not yet complete with all Adminer plugins.

Available plugins

  • database-hide Hide some databases from the interface - just to improve design, not a security plugin.

  • designs Allow switching designs.

  • dump-alter Exports one database (e.g. development) so that it can be synced with other database (e.g. production).

  • dump-bz2 Dump to Bzip2 format.

  • dump-date Include current date and time in export filename.

  • dump-json Dump to JSON format.

  • dump-xml Dump to XML format in structure <database name=""><table name=""><column name=""> value.

  • dump-zip Dump to ZIP format.

  • edit-foreign Select foreign key in edit form.

  • edit-textarea Use <textarea> for char and varchar.

  • enum-option Use <select><option> for enum edit instead of <input type="radio">.

  • enum-types Use <select><option> for enum edit instead of regular input text on enum type in PostgreSQL.

  • foreign-system Link system tables (in mysql and information_schema databases) by foreign keys.

  • frames Allow using Adminer inside a frame (disables ClickJacking protection).

  • json-column Display JSON values as table in edit.

  • slugify Prefill field containing _slug with slugified value of a previous field (JavaScript).

  • sql-log Log all queries to SQL file.

  • struct-comments Show comments of sql structure in more places (mainly where you edit things).

  • tables-filter Filter names in tables list.

  • tinymce Edit all fields containing _html by HTML editor TinyMCE and display the HTML in select.

  • translation Translate all table and field comments, enum and set values from the translation table (automatically inserts new translations).

  • version-noverify Disable version checker.

  • wymeditor Edit all fields containing _html by HTML editor WYMeditor and display the HTML in select.

Available designs

To view all designs with screenshots click here.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

You might also like...
Laravel Thermite is an extended PostgreSQL Laravel database driver to connect to a CockroachDB cluster.
Laravel Thermite is an extended PostgreSQL Laravel database driver to connect to a CockroachDB cluster.

Laravel Thermite Laravel Thermite is an extended PostgreSQL Laravel database driver to connect to a CockroachDB cluster. 🤝 Supporting If you are usin

[READ ONLY] Subtree split of the Illuminate Database component (see laravel/framework)

Illuminate Database The Illuminate Database component is a full database toolkit for PHP, providing an expressive query builder, ActiveRecord style OR

Adjacency List’ed Closure Table database design pattern implementation for the Laravel framework.

ClosureTable This is a database manipulation package for the Laravel 5.4+ framework. You may want to use it when you need to store and operate hierarc

A drop-in library for certain database functionality in Laravel, that allows for extra features that may never make it into the main project.

Eloquence Eloquence is a package to extend Laravel's base Eloquent models and functionality. It provides a number of utilities and classes to work wit

[Package] Multi-tenant Database Schema Manager for Laravel

Multi-tenant Database Schema Manager for Laravel Tenanti allow you to manage multi-tenant data schema and migration manager for your Laravel applicati

Laravel 5 - Repositories to abstract the database layer

Laravel 5 Repositories Laravel 5 Repositories is used to abstract the data layer, making our application more flexible to maintain. See versions: 1.0.

A Redis based, fully automated and scalable database cache layer for Laravel
A Redis based, fully automated and scalable database cache layer for Laravel

Lada Cache A Redis based, fully automated and scalable database cache layer for Laravel Contributors wanted! Have a look at the open issues and send m

A mysql database backup package for laravel

Laravel Database Backup Package This package will take backup your mysql database automatically via cron job. Installing laravel-backup The recommende

Laravel Code Generator based on MySQL Database

Laravel Code Generator Do you have a well structed database and you want to make a Laravel Application on top of it. By using this tools you can gener

Comments
  • Method Illuminate\Routing\RouteRegistrar::withoutMiddleware does not exist

    Method Illuminate\Routing\RouteRegistrar::withoutMiddleware does not exist

    Out of nowhere, when I just ran a "composer update", started to get this:

    php artisan

    BadMethodCallException

    Method Illuminate\Routing\RouteRegistrar::withoutMiddleware does not exist.

    at vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php:222 218▕ 219▕ return $this->attribute($method, $parameters[0]); 220▕ } 221▕ ➜ 222▕ throw new BadMethodCallException(sprintf( 223▕ 'Method %s::%s does not exist.', static::class, $method 224▕ )); 225▕ } 226▕ }

    • Bad Method Call: Did you mean Illuminate\Routing\RouteRegistrar::registerRoute() ?

      +10 vendor frames 
    

    11 [internal]:0 Illuminate\Foundation\Application::Illuminate\Foundation{closure}(Object(Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider))

      +5 vendor frames 
    

    17 artisan:37 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

    ========================================================================================================================================================================================

    The entire stack trace:

    [2020-11-16 13:29:30] local.ERROR: Method Illuminate\Routing\RouteRegistrar::withoutMiddleware does not exist. {"exception":"[object] (BadMethodCallException(code: 0): Method Illuminate\Routing\RouteRegistrar::withoutMiddleware does not exist. at /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php:222) [stacktrace] #0 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/moharrum/laravel-adminer/src/Providers/LaravelAdminerServiceProvider.php(78): Illuminate\Routing\RouteRegistrar->__call('withoutMiddlewa...', Array) #1 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/moharrum/laravel-adminer/src/Providers/LaravelAdminerServiceProvider.php(61): Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider->bindManagerRoutes() #2 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/moharrum/laravel-adminer/src/Providers/LaravelAdminerServiceProvider.php(38): Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider->bindRoutesAutomatically() #3 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider->boot() #4 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #5 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure(Object(Closure)) #6 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure)) #7 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Container/Container.php(596): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL) #8 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(869): Illuminate\Container\Container->call(Array) #9 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(850): Illuminate\Foundation\Application->bootProvider(Object(Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider)) #10 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}(Object(Moharrum\LaravelAdminer\Providers\LaravelAdminerServiceProvider), 36) #11 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(851): array_walk(Array, Object(Closure)) #12 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot() #13 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(230): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap(Object(Illuminate\Foundation\Application)) #14 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith(Array) #15 /Users/andreifiroiu/Dev/ValetSites/eshop/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap() #16 /Users/andreifiroiu/Dev/ValetSites/eshop/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #17 {main} "}

    ================================================================================================================================================================================

    My composer.json:

    { "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": [ "framework", "laravel" ], "license": "MIT", "require": { "php": "^7.3.0", "ext-curl": "", "ext-gd": "", "ext-json": "", "ext-soap": "", "arcanedev/log-viewer": "^8.0", "buglinjo/laravel-webp": "^2.0", "dialect/laravel-gdpr-compliance": "^1.4", "doctrine/dbal": "~2.3", "dymantic/laravel-instagram-feed": "^2.3", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^1.0", "guzzlehttp/guzzle": "^7.0.1", "imtigger/laravel-job-status": "^1.2", "infyomlabs/coreui-templates": "8.0.x-dev", "infyomlabs/laravel-generator": "8.0.x-dev", "intervention/image": "^2.5", "intervention/imagecache": "^2.4", "jenssegers/agent": "^2.6", "laravel/framework": "^8.0", "laravel/legacy-factories": "^1.1", "laravel/socialite": "^5.0", "laravel/telescope": "^4.0", "laravel/tinker": "^2.0", "laravel/ui": "^3.0", "laravelcollective/html": "^6.2", "livewire/livewire": "^1.2", "maatwebsite/excel": "^3.1", "paquettg/php-html-parser": "^3.0", "pgrimaud/instagram-user-feed": "^6.3", "sentry/sentry-laravel": "^2.2", "solarium/solarium": "^6.0", "spatie/laravel-cookie-consent": "^2.12", "spatie/laravel-newsletter": "^4.8", "spatie/laravel-schedule-monitor": "^1.0" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.3", "barryvdh/laravel-ide-helper": "^2.7", "facade/ignition": "^2.3.6", "fzaninotto/faker": "^1.9.1", "laravel/dusk": "^6.4", "mockery/mockery": "^1.3.1", "nunomaduro/collision": "^5.0", "phpunit/phpunit": "^9.0", "spatie/laravel-web-tinker": "^1.7" }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true }, "extra": { "laravel": { "dont-discover": [] } }, "autoload": { "files": [ "app/helpers.php" ], "psr-4": { "App\": "app/" }, "classmap": [ "database/seeds", "database/factories" ] }, "autoload-dev": { "psr-4": { "Tests\": "tests/" } }, "minimum-stability": "dev", "prefer-stable": true, "scripts": { "post-autoload-dump": [ "Illuminate\Foundation\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-root-package-install": [ "@php -r "file_exists('.env') || copy('.env.example', '.env');"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] } }

    opened by andreifiroiu 1
Releases(1.3.1)
Owner
Khalid Moharrum
Khalid Moharrum
Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.

Please give it a Star if you like the project ?? ❤️ SleekDB - A NoSQL Database made using PHP Full documentation: https://sleekdb.github.io/ SleekDB i

Kazi Mehedi Hasan 745 Jan 7, 2023
SleekwareDB is a NoSQL database storage service. A database storage service that can be used for various platforms and is easy to integrate.

SleekwareDB is a NoSQL database storage service. A database storage service that can be used for various platforms and is easy to integrate. NoSQL API

SleekwareDB 12 Dec 11, 2022
Database lookup tool in php, skidlookup has not been claimed so if u want to use this src all right's go to u, idea came from fedsearch

skidlookup Database lookup tool in php, skidlookup has not been claimed so if u want to use this src, all right's go to u, idea came from fedsearch in

Nano 12 Dec 1, 2021
Database lookup tool in php, skidlookup has not been claimed so if u want to use this src all right's go to u, idea came from fedsearch

skidlookup Database lookup tool in php, skidlookup has not been claimed so if u want to use this src, all right's go to u, idea came from fedsearch in

Nano 12 Dec 1, 2021
phpSleekDBAdmin - a web-based SleekDB database admin tool written in PHP

phpSleekDBAdmin is a web-based SleekDB database admin tool written in PHP. Following in the spirit of the flat-file system used by SleekDB, phpSleekDBAdmin consists of a single source file, phpsleekdbadmin.php. The interface and user experience is comparable to that of phpLiteAdmin and phpMyAdmin.

GalAnonym 8 Oct 26, 2022
Database management in a single PHP file

Adminer - Database management in a single PHP file Adminer Editor - Data manipulation for end-users https://www.adminer.org/ Supports: MySQL, MariaDB

Jakub Vrána 5.5k Jan 1, 2023
PHP application-level database locking mechanisms to implement concurrency control patterns.

PHP DB Locker Introduction PHP application-level database locking mechanisms to implement concurrency control patterns. Supported drivers: Postgres In

cybercog 3 Sep 29, 2022
Laravel Migrations Generator: Automatically generate your migrations from an existing database schema.

Laravel Migrations Generator Generate Laravel Migrations from an existing database, including indexes and foreign keys! Upgrading to Laravel 5.4 Pleas

Bernhard Breytenbach 3.3k Dec 30, 2022
Clean up your Magento database by removing orphaned, unused and wrongly added attribute, attribute values and settings (for M2).

Magento 2 EAV Cleaner Console Command Purpose of this project is to check for different flaws that can occur due to EAV and provide cleanup functions.

FireGento e. V. - Hackathons 41 Dec 14, 2022
Seed your database with CSV files

CSV Seeder Seed your database with CSV files This package allows CSV based seeds. Installation Require this package in your composer.json and run comp

null 249 Dec 13, 2022