use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
abstract class BaseMigration extends Migration
{
protected function addCommonColumns(Blueprint $table)
{
$table->timestamps();
$table->softDeletes();
}
}
class CreateUsersTable extends BaseMigration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$this->addCommonColumns($table); // 共通カラムを追加
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
use Illuminate\Support\Facades\App;
public function boot()
{
if (App::runningInConsole()) {
Blueprint::macro('addCommonColumns', function () {
$this->timestamps();
$this->softDeletes();
});
}
}