laravel-adminのデータベース構造

laravel-admin をインストールすると、いくつかの管理用テーブルがDBに追加されます

admin_menu

管理画面の左サイドメニューに表示する項目のテーブルです。parent_id に任意のadmin_menuのidを設定することで、設定したid項目の子階層となるような、階層構造を持ったメニューを作成することができます。iconカラムにはメニューに設定するアイコンをFontAwesomeのフォントで設定できます。内部的には class=”fa” によってcssのfontプロパティにFontAwesomeが指定され、さらに font-awesome.min.css にクラスセレクターに応じて content 属性で fa-xxx に応じた特殊文字を指定するようになっています。

admin_operation_log

管理画面の操作ログが記録されたテーブルです。操作を行った管理ユーザーのIDと操作対象パス、メソッド、アクセス元IP、パラメーターなどが記録されています。なおログアウト操作は記録されるのですが、ログイン操作は記録されていないので注意が必要です。ログを記録するためのミドルウェアは vendor/encore/laravel-admin/src/Middleware/LogOperation.php に定義されています。

admin_users

管理アカウント(管理画面にアクセスできるアカウント)の情報が記録されているテーブル。password は暗号化されています。