laravelのマイグレーション
データベースのテーブル作成や編集などを管理する方法として「マイグレーション」ってのがあります。
その方法は大きくわけて2段階。
①マイグレーションファイルの作成
②マイグレーション実行
マイグレーションファイル:どんなテーブルを作るかというテーブルの設計書。
マイグレーション:作った設計書実行すること。テーブルができる。
テーブル作成
$ php artisan make:migration {テーブル名}_table
--create、--tableのうしろに=でマイグレーションファイルで扱うテーブルの名前を引数として渡すと、
出来上がるマイグレーションファイルはそのテーブル名を含んで雛形が作られる
ディレクトリはdatabase/migrationsに入っている
テーブル中身
ファイル構成
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class Photo extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
// テーブル作成
/* optionをつけた場合は下のような雛形が最初から作られている
Schema::create('photos', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
*/
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
// テーブル削除
/* optionをつけた場合
Schema::drop('users');
*/
}
}
Schema::というのはスキーマビルダと呼ばれるもので、テーブルの作成・編集が可能。
Schema::createで新規テーブルの作成・編集ができます。
idとtimestampsはデータがテーブルに入るたびに勝手につくので必須。
Schema::dropはテーブルを削除します。
::createと::dropの第一引数であるphotoはテーブル名を意味します。
マイグレーション実行
これはappコンテナでうつ
$ php artisan migrate
これでテーブルができる