Laravel6 マイグレーションを利用してDBテーブルを作成

Laravel6 マイグレーションを利用してDBテーブルを作成

Laravelのマイグレーション機能を利用してテーブルを作成する手順。 シーディング(Seeding) 機能を使ってデータ作成まで行います。

環境

  • OS CentOS Linux release 7.7.1908 (Core)
  • Laravel 6.5.1
  • DB mysql Ver 8.0.18

DB作成

事前にDBを作成しておく

Laravelプロジェクトの作成

ここではprojというプロジェクト名で作成してます

※Laravelの構築手順はこちら

Laravel DB接続設定

Laravelプロジェクト配下の.envを編集。今回はmysqlなのでmysqlのみ編集

テーブル作成

事前準備が完了したのでマイグレーションを利用してテーブルを作成する。

ここではcustomerというテーブルを作成をします

/var/www/html/proj/database/migrations内にyyyy_MM_dd_HHmmss_create_customer_table.phpというファイルが作成されます。

yyyy_MM_dd_HHmmss_create_customer_table.php

このマイグレーションファイル yyyy_MM_dd_HHmmss_create_customer_table.php を編集してテーブルを作成します。

を追加します。

テーブル作成。下記のコマンドを実行してテーブルを作成します。

テーブルが作成されていることが確認できる

データ作成

シーダーファイルでテーブルのデータを作成します

/var/www/html/proj/database/seeds内にCustomerTableSeeder.phpが作成されます。

CustomerTableSeeder.php

この CustomerTableSeeder.php を編集します。

今回はcustomerテーブルのnameに山田太郎という名前を追加します。

編集後に、下記のコマンドを実行します。

customerテーブルにデータが追加されていることがわかります。

マイグレーションのロールバック

ロールバックは下記のコマンドで可能です。

確認してみる

ロールバックを実行します

ロールバックされていることが確認できます。