Open5

Larevel コマンドいろいろ

kirikirimaikirikirimai

ルート設定の一覧表示。
sailが主流だが、使わない場合はphp artisanとなる。

sail artisan route:list

php artisan route:list
kirikirimaikirikirimai

コントローラを作る

sail artisan make:controller TestController
kirikirimaikirikirimai

テーブル作成

マイグレーションファイルの作成

sail artisan make:migration マイグレーションファイル名

マイグレーションファイルとモデルの新規ファイルを作成

sail artisan make:model モデル名 -m

マイグレーションファイルの反映

sail artisan migrate

マイグレートを取り消す

sail artisan migrate:rollback

ただし取り消しはbatchごとになる。
batchごとではなくすべてのマイグレートを取り消すにはreset

sail artisan migrate:reseet

rollback reset refreshなど取り消し操作はデータが消えるので注意する。
ロールバック後はdatabase/migrationの中にあるマイグレーションファイルを削除する。でないと次回マイグレーションを実行した場合にまた実行される

kirikirimaikirikirimai

テーブルの構造を変更する

追加、削除、変更などのマイグレーションファイルを作成する。

sail aritisan make:migration add_test_column --table=users

処理は同じなので以後、マイグレーションファイル作成のコマンドは省略。

カラムの追加

例えばUsersテーブルのemailカラムの横にstring型のtestカラムを追加してみる

public function up(): void
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->string('test')->after('email');
        });
    }

/**
     * Reverse the migrations.
*/
    public function down(): void{
       $table->dropColumn('test');
    }

カラムの削除

今度はカラムの削除。

delete_test_column.php
public function up(): void
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->dropColumn('test');
        });
    }

/**
     * Reverse the migrations.
*/
    public function down(): void{
       $table->string('test')->after('email');
    }

カラムの追加と比べて分かるとおり、upメソッドではdropColumnメソッドを使用して、downメソッドではテーブルにカラムを追加する処理を記載していて、カラムを追加する処理と逆になっている

カラム名を変更

カラム名を変更する処理

rename_test_column .php
public function up(): void
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->renameColumn('test','trial');
        });
    }

/**
     * Reverse the migrations.
*/
    public function down(): void{
       $table->renameColumn('trial','test');
    }

カラムの型を変更

string型からtext型に変更。changeメソッドを使用。

rename_test_column .php
public function up(): void
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->text('test')->change();
        });
    }

/**
     * Reverse the migrations.
*/
    public function down(): void{
       $table->string('test')->change();
    }

カラムの修飾子を追加

nullを許容するかどうかを追加。changeメソッドを使用。

rename_test_column .php
public function up(): void
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->string('test')->nullable()->change();
        });
    }

/**
     * Reverse the migrations.
*/
    public function down(): void{
       $table->string('test')->nullable(false)->change();
    }