unsignedBigInteger('activity_type_dict_item_id')->nullable()->after('title'); $table->text('intro_html')->nullable()->after('location'); }); Schema::create('activity_signup_checkins', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('activity_signup_id'); $table->unsignedBigInteger('activity_session_id'); $table->timestamp('checked_in_at')->nullable(); $table->timestamps(); $table->unique(['activity_signup_id', 'activity_session_id'], 'activity_signup_session_unique'); $table->index('activity_session_id'); }); Schema::table('activities', function (Blueprint $table) { $table->dropIndex(['activity_type', 'progress_status', 'published']); $table->dropColumn('activity_type'); $table->index(['activity_type_dict_item_id', 'progress_status', 'published'], 'activities_type_progress_published_idx'); }); } public function down(): void { Schema::table('activities', function (Blueprint $table) { $table->dropIndex('activities_type_progress_published_idx'); $table->string('activity_type', 32)->nullable()->after('title'); $table->index(['activity_type', 'progress_status', 'published']); }); Schema::dropIfExists('activity_signup_checkins'); Schema::table('activities', function (Blueprint $table) { $table->dropColumn(['activity_type_dict_item_id', 'intro_html']); }); } };