0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Laravel】テーブル作成#1

Last updated at Posted at 2024-10-20

マイグレーションファイルの作成

下記コマンドで、マイグレーションファイルを作成します

php artisan make:migrattion create_books_table --create=books

コマンド内容は、
php artisan make:migration ファイル名 --create=テーブル名
これで database/migrations の中に 作成日時_create_books_table.php が作成されます

マイグレーションファイルの編集

database/migrations の中に作成されているので編集します

database/migrations/2024_10_20_000000_create_books_table.php
<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('books', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title', 50);

            $table->timestamps();
            $table->softDeletes();
            $table->boolean('exist')->nullable()->storedAs('case when deleted_at is null then 1 else null end');
        });
    }

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

マイグレーションファイル内容をDBに反映

ファイルの編集が終了したら、
下記コマンドでデータベースにファイル内容を反映します
作成したファイル内のup()が実行されます

php artisan migrate

データベースを確認するとbooksテーブルが追加されています

内容を修正する場合は、
修正前に下記コマンドでテーブル作成前に戻します
作成したファイル内のdown()が実行されます

php artisan migrate:rollback

修正後、再度下記コマンドででデータベースへファイル内容を反映

php artisan migrate

以上、テーブル作成の流れになります。

作成後にデータが入っている場合は、
ロールバックをするとデータが消えてしまうので注意してください
新規にテーブル更新用のマイグレーションファイルを作成しデータベースに反映する流れとなります

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?