ホーム » laravel9のmigrationコマンドのファイル名について

laravel9のmigrationコマンドのファイル名について

laravel9のmigrationコマンドのファイル名について

 

どうしてcreate_flights_tableとするとcreate用のマイグレーションファイルが作成されるのか?

どうしてadd_votes_to_users_tableとするとupdate用のマイグレーションファイルが作成されるのか?

ちょっと気になったのでサクッと調べてみました。

 

create_<テーブル名>_tableの名前になっている場合はcreate用のmigrationファイルが作成される。

php artisan make:migration create_flights_table

_to_、_from_、_in_<テーブル名>_tableの名前になっている場合はUpdate用のmigrationファイルが作成される。

php artisan make:migration add_votes_to_users_table
php artisan make:migration add_votes_from_users_table
php artisan make:migration add_votes_in_users_table

 

詳細には下記な感じです。(正規表現で決めているみたい)

const CREATE_PATTERNS = [
'/^create_(\w+)_table$/',
'/^create_(\w+)$/',
];

const CHANGE_PATTERNS = [
'/_(to|from|in)_(\w+)_table$/',
'/_(to|from|in)_(\w+)$/',
];

 

下記、参考画像です。

 

またYoutubeでも解説してます。