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