Laravel でのテーブル作成

Laravel

この記事のゴール

  • Laravel でデータベースのテーブルを作成する

前提

  • Laravel の開発環境構築済
  • データベースの基礎知識がある

Laravel の開発環境構築はこちらの記事を参考にしてください。

この記事でこれからやること

  • マイグレーションファイルの作成(テーブル作成スクリプト)
  • マイグレーション実行(テーブル作成)
  • テーブルの存在確認

マイグレーションファイルの作成(テーブル作成スクリプト)

次のように簡単なテーブルを作成します。

#論理名物理名オプション
1IDidUNSIGNED BIGINT(20)主キー、自動採番
2やることtodoVARCHAR(255)
3完了doneTINYINT
4作成日時created_atTIMESTAMP
5更新日時updated_atTIMESTAMP

ターミナル上で sail-shell に接続した状態のプロジェクトトップフォルダで

次のコマンドを実行し、マイグレーションファイルを作成します。

php artisan make:migration create_todos_table

コマンド実行に成功すると、フォルダ [database\migrations\] の中に、

[2023_05_26_041820_create_todos_table.php] のようなファイル名のファイルができます。

ファイル名の最初の方の数字は作成日時になっています。

このファイルを編集していきます。次のように16行目、17行目に追記して保存してください。

<?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('todo', function (Blueprint $table) {
            $table->id();
            $table->string('todo', 255);
            $table->tinyInteger('done');
            $table->timestamps();
        });
    }

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

マイグレーション実行(テーブル作成)

sail-shell で次のコマンドを実行してテーブル作成をします。

php artisan migrate

このコマンドは、未実行のマイグレーションファイルだけを実行してくれます。

これでテーブル作成ができました。

テーブルの存在確認

データベーステーブルの存在確認をする方法は、phpMyAdminやA5SQL Mk2など

いくつかありますが、せっかくターミナルを使っているので、

ここではMySQL CLIを使ってコマンドで確認します。

sail-shell で次のコマンドを実行してください。

mysql -h mysql -u sail -p

※ここでのホスト名やユーザー名、パスワードは、プロジェクトトップにある

「.env」ファイルを確認してください。

次のコマンドでデータベース名を確認します。

show databases;

次のコマンドでデータベースを選択します。

use webapp;

次のコマンドでテーブル一覧を表示します。

show tables;

テーブル名「todos」が表示されていることが確認できました。

一応、次のコマンドでカラム定義の確認をしておきましょう。

show columns from todos;

想定通りに定義されていました。次のコマンドで接続解除しておきましょう。

\q

今回は以上です。お疲れさまでした。

  • 0
  • 0
  • 0
  • 0

コメント

タイトルとURLをコピーしました