authentication-log:purge — 認証ログを削除するコマンド
artisan
authentication-log:purge コマンド
Laravel で rappasoft/laravel‑authentication‑log パッケージを利用している場合に、古い認証ログを一括削除する Artisan コマンドです。
「ログを一定期間だけ保持したい」「ログの増大による DB 負荷を抑えたい」など、実務でよく使われる場面に対応します。
何をするコマンドか
- 認証ログテーブル (
authentication_log) から
設定ファイル config/authentication-log.php の purge で指定した日数より古いレコードを削除
- 削除対象の日数をオプションで上書きできる
--dry-run で削除件数のみ確認できる
--force で確認プロンプトをスキップして強制実行できる
基本的な使い方
# 既定値(purge: 365 日)より古いログを削除
php artisan authentication-log:purge
日数を上書きして実行
# 30 日より古いログを削除
php artisan authentication-log:purge --days=30
実際に削除せず件数だけ確認
php artisan authentication-log:purge --dry-run
確認プロンプトをスキップして強制実行
php artisan authentication-log:purge --force
コマンド構文
php artisan authentication-log:purge [--days=NUMBER] [--force] [--dry-run]
| オプション |
型 |
デフォルト |
必須 |
説明 |
--days |
int |
config('authentication-log.purge') |
いいえ |
削除対象とする「日数」を指定。 |
--force |
bool |
false |
いいえ |
確認プロンプトをスキップして強制実行。 |
--dry-run |
bool |
false |
いいえ |
実際の削除はせず、削除対象件数を表示。 |
Tip
--dry-run で削除件数を確認し、本番環境で実行する前に安全性をチェックできます。
実装例
1. 最小構成(設定ファイルの既定値を利用)
php artisan authentication-log:purge
2. 日数を明示的に指定
php artisan authentication-log:purge --days=30
3. 本番環境で自動実行(Cron)
// app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
// 1日1回、30 日より古いログを削除
$schedule->exec('php artisan authentication-log:purge --days=30')
->daily()
->runInBackground();
}
関連コマンド・設定
| コマンド / 設定 |
内容 |
php artisan authentication-log:cleanup |
旧バージョンの削除コマンド。機能は同じですが purge は正式リリース時点で推奨です。 |
config/authentication-log.php |
purge(削除対象日数)や keep_days(保持日数)等の設定項目。 |
php artisan authentication-log:status |
現在保持しているログ件数や統計情報を表示。 |
変更履歴
| バージョン |
変更内容 |
| 6.0.0 |
authentication-log:purge コマンドが正式リリース。 |
| 6.1.0 |
--dry-run オプションを追加。 |
| 6.2.0 |
--force オプションを追加。 |
参考リンク