0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel 7.xにAdminerを導入する

Posted at

Laravel5/6にAdminer入れる記事はいくつかあったのですが、7.xに入れる記事が見つからなかったので、一応。

#Adminerって?
laravelもphpも初心者なのでここからです。
screenshot.png

Adminerはブラウザで操作できるデータベース管理ツール。
PHPファイル1つで書かれているため手間が少なく、またサイズも軽い。

対応するDBは以下の通り

  • MySQL
  • Oracle
  • SQLite
  • PostgreSQL
  • MS SQL
  • etc

#Laravel7.xにAdminerを入れる
##ライブラリ
元のツールがPHPファイル1つとはいえ、Laravelに入れるにはいろいろ必要となってきます。
ライブラリは現状2つ(?)あるっぽいです。

・miroc/Laravel-Adminer
  https://github.com/miroc/Laravel-Adminer

・onecentlin/laravel-adminer
  https://github.com/onecentlin/laravel-adminer

しかしながら、前者のライブラリはLaravelに合わせたバージョンアップがされておらず、
composer.jsonを見てもLaravel5.xしかサポートしていないようです。

よって、Laravel7.xでは後者のonecentlin/laravel-adminerを使用していきます。

##手順
導入手順に関してはreadmeにある通りですので、5/6と変わりありません。

一応日本語で手順を書いておきます。

###1. インストール
以下のコマンドでライブラリをインストールします。

composer require onecentlin/laravel-adminer

または、
composer.jsonのrequire部分に

composer.json
"require": {
    "onecentlin/laravel-adminer": "^4.7"
},

を追記して、composer updateします。

###2. 事前準備
config/app.phpのproviders部分に以下を追記します。

app.php
'providers' => [
    ...
    Onecentlin\Adminer\ServiceProvider::class,
];

###3. アクセス許可の設定
app/Http/Kernel.php$middlewareGroups部分に以下を追記します。

Kernel.php
protected $middlewareGroups = [
    ...
    'adminer' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,

        // you may create customized middleware to fit your needs
        // example uses Laravel default authentication (default protection)
        \Illuminate\Auth\Middleware\Authenticate::class,
    ],
];

また、このあとLaravel5.1用の設定が必要となりますが、今回のスコープではないので割愛します。

###4. Adminerのテーマを設定(任意)
デフォルトの表示でもよければ飛ばしても構いません。が、やっておくと非常に見やすいです。

以下コマンドを実行すると、adminer.cssファイルがpublicフォルダにコピーされます。

php artisan vendor:publish --provider="Onecentlin\Adminer\ServiceProvider"

Adminerの公式に様々なテーマがあるので好きなものをコピーして、adminer.cssに上書きしましょう。
ちなみに冒頭の画像は公式の「nette」というテーマを適用した場合のサンプルです。

###5.アクセス
あとはブラウザからアクセスできればOKです。

http://[your.domain.com]/adminer

#備考
ちなみにライブラリとかじゃなく生のツールの方のAdminerは
Laravelで使用している関数名とコンフリクトしているので、無理やり入れると後が面倒です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?