Laravel

[Lravel8]複数のカラムの追加をマイグレーションで

カラムの追加をマイグレーションでするのに、一つの場合の記事は多かったのですが、複数の場合の記事は少なかったので。

基本マイグレーション名はなんでも良いのです。
(クラス名と被るとエラーになるのでそこだけ注意!)

--table=テーブル名で、既存のテーブルの変更をしめす。

php artisan make:migration add_clicks_table_2columns  --table=clicks

できたマイグレーションファイルに下記のように変更

public function up()
    {
        Schema::table('clicks', function (Blueprint $table) {
            //追加
            $table->string('country_code')->nullable()->after('country');
            $table->string('city')->nullable()->after('region');
        });
    }

    
    public function down()
    {
        Schema::table('clicks', function (Blueprint $table) {
            //追加
            $table->dropColumn('country_code');
            $table->dropColumn('city');
        });
    }
->after('country');

を付けるのはphpMyAdminなどでカラムやデータを確認する時に見やすくするために、「カラムの順番」を整理するため。

この場合は、countryカラムの後にcountry_codeカラムが入ることになる。

down()にはマイグレーションでロールバックする時に、追加した複数のカラムを削除するため。

 

-Laravel

© 2024 青い空とコーヒーと