LoginSignup
31
7

More than 1 year has passed since last update.

Laravel8 personal_access_tokens のマイグレーションを無効化する

Posted at

Laravel 8.6.0 以降、Laravel Sanctumがなぜか標準搭載

Laravel9にも laravel/sanctum がプリインストールされています。

(なんでなん...?)

マイグレーションファイルを消してもテーブルが生成される

Laravelをインストールすると database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php ファイルがあります。
このファイルを消してマイグレーションを実行しても...

$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (43.38ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (35.42ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (24.97ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (56.15ms)

とこのように personal_access_tokens テーブルが生成されてしまいます。

実行されているのは下記のマイグレーションファイルです。

Sanctumが必要ない場合は...

Sanctumをアンインストールすればokです。

$ composer remove laravel/sanctum

Sanctumのマイグレーションを無効化する

SPA認証を使う場合は、 personal_access_tokens は不要です。
そういった時はマイグレーションを無効化したいです。

サービスプロバイダに下記のようにコードを追加します。

app/Providers/AppServiceProvider.php
<?php declare(strict_types=1);

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Laravel\Sanctum\Sanctum;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        Sanctum::ignoreMigrations();
    }
}

Sanctumのマイグレーションが実行されないことを確認します。

$ php artisan migrate:fresh
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (40.94ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (31.85ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (35.03ms)

okですb

31
7
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
31
7