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
のカラムを作成しました。
まとめ