[Laravel挑戦] ここまでのおさらい

起業準備

細切れ時間で学習しているからか、学んだことが頭に定着しない。

(50代だからとは言わない)

先に進んだ時に、微妙に言葉尻が変わったり、使い方が変わった(ように見えた)りすると、途端にうんうん唸ってしまう性格もあり、色々新しい言葉を学んだの整理していく。

Laravelの要はDB操作をするマイグレーション

マイグレーションはコマンドでテーブルを作成・操作

migration コマンドを実行すると、マイグレーションファイルが作成される。

テーブルをコマンドで作成する機能で、database/migrationsフォルダにテーブルごとに作成されるphpファイルにテーブルの構造を指定するコードが含まれる。

この時、ファイル名に日付が入るが、それはマイグレーションはデータベースのバージョン管理のようなものだから。

チームで開発する時などに、バージョニングすることで新旧が一目瞭然になる。

2つのメソッド(up/down)

移行クラスには、upとdownの2つのメソッドを用意する。

upメソッドはデータベースに新しいテーブル、カラム、またはインデックスを追加するために使用する。

downメソッドでは、upメソッドによって実行する操作を逆にして以前の状態へ戻す。

upメソッドでスキーマを使って、テーブルのカラムを定義した例は以下。

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->id();
            $table->string('name',100);
            $table->boolean('status')->default(false);
            $table->timestamp('updated_at')->useCurrent()->nullable();
            $table->timestamp('created_at')->useCurrent()->nullable();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('tasks');
    }
};

ここでとても気になっちゃったのが、VSCodeで編集している一部のコードがエラー状態になっていること。例えばこんな感じ。PHP編集用の拡張機能として、PHP DebugとPHP Intelephenseを入れているけど、どうすればよいのろうか。実害はないけど嫌だな。

つづく

コメント

PHP Code Snippets Powered By : XYZScripts.com
タイトルとURLをコピーしました