Laravel マイグレーションを実行するには?

ショコラ
ショコラ

Laravel マイグレーションを実行するには?

「./artisan migrate」でキメマス。
マイグレーションで、データベースにテーブルを作成するんだよね。

もっさん先輩
もっさん先輩

マイグレーションを実行するには↓以下のコマンドを実行します。データベースにテーブルが存在しない場合には、差分のみ作成されます。

./artisan migrate

特定のテーブルのみ更新するには↓以下のようにします。

./artisan migrate:refresh --path=database/migrations/2022_09_16_000000_create_columns_table.php

テーブルを作成するのはこちら

./artisan make:migration create_items_table

テーブルを作成&モデルの作成はこちら

./artisan make:migration create_items_table -m

テーブルを削除するにはこちら

./artisan migrate:refresh

全テーブルを削除してテーブルを用意するのはこちら

./artisan migrate:refresh --seed

マイグレーションで定義できるカラムの型

マイグレーションで定義できるカラムの型についてまとめました。

プライマリーキーを設定する。

$table->increments('{カラム名}');

プライマリーキーを設定する。

$table->bigIncrements('{カラム名}');

integer型 で定義する。

$table->integer('{カラム名}');

bigInteger型 で定義する。

$table->bigInteger('{カラム名}');

float型 で定義する。

$table->float('{カラム名}');

double型 で定義する。

$table->double('{カラム名}');

char型 で定義する。

$table->char('{カラム名}');

string型 で定義する。

$table->string ('{カラム名}');

text型 で定義する。

$table->text('{カラム名}');

longtext型 で定義する。

$table->longtext('{カラム名}');

boolean型 で定義する。

$table->boolean ('{カラム名}');

date型 で定義する。

$table->date('{カラム名}');

datetime型 で定義する。

$table->datetime('{カラム名}');

timestamps を定義する。

$table->timestamps();

created_at、updated_dt のカラムが追加されます。

softDeletes を定義する。

$table->softDeletes();

deleted_at のカラムが追加されます。

ポストグレスでは、カラム名は↓のように対応していました。

↑で使ったマイグレーションのファイルです。

<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('columns', function (Blueprint $table) {
          $table->increments('increments');
          $table->integer('integer');
          $table->bigInteger('bigInteger');
          $table->float('float');
          $table->double('double');
          $table->char('char');
          $table->string ('string');
          $table->text('text');
          $table->longtext('longtext');
          $table->boolean ('boolean');
          $table->date('date');
          $table->datetime('datetime');
          $table->timestamps();
          $table->softDeletes();
        });
    }

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

NULL を許容するには カラム に nullable を追加します。

->nullable()

↓のようになります。

$table->text('{カラム名}')->nullable();

以上

Scroll to Top