Laravelチュートリアル2


step.2では、

・データベース

・マイグレーション

について説明していきます。




データベースの作成



今回は laravel-tutorialという名前で、データベースを作成しました。

作り方説明

データベースとの接続設定



.env ファイルの追記・修正

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel-tutorial
DB_USERNAME=laravel-tutorial
DB_PASSWORD=laravel-tutorial

・DATABASE名

・USERNAME名

・PASSWORD名

上記はすべて laravel-tutorial と設定しています。

テーブルの作成



Laravel では マイグレーションファイル で管理・実行していきます。

マイグレーションファイルとは、テーブルの作成や削除、カラムの追加や削除するファイルです。

マイグレーションファイル作成のコマンドです。

php artisan make:migration


今回はtasksテーブルを作成します。

php artisan make:migration create_tasks_table


作成したマイグレーションファイルです。

<?php

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

class CreateTasksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
        });
    }

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

詳しく見ていきます。

マイグレーションファイルは、データベースのテーブル作成や削除、カラムの追加や削除するファイルです。

public function up() はテーブルを作成、追加するときに実行されます。

public function down()テーブルを削除、カラムの削除するときに実行されます。

作成したマイグレーションファイルの中には、 idカラムとtimestampカラムしかありません。

今回のToDoアプリでは、タスク名や現在の状態、期限を追加します。

public function up()の中に以下のコードを追記します。

public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->enum('status', ['READY', 'DOING', 'DONE']);
            $table->string('deadline')->nullable();
            $table->timestamps();
        });
    }

追記したマイグレーションファイルの抜粋です。

$table->string('name');

string(文字列)型の nameカラムを追加しました。

$table->enum('status', ['READY', 'DOING', 'DONE']);

enum()型の statusカラムを追加しました。

 $table->string('deadline')->nullable();

string(文字列)型の deadlineカラムを追加しました。

nullable()は、NULL値を許容するカラム修飾子です。

マイグレーションファイル実行



マイグレーションファイルを実行するコマンドです。

php artisan migrate


tasksテーブルには、

・id

・name

・tatus

・deadline

・created_at

・updated_at

のカラムを作成しました。


まとめ