id(); $table->timestamp('created_at'); $table->softDeletes(); $table->string('value')->unique(); }); Schema::create('tearlines', function (Blueprint $table) { $table->id(); $table->timestamp('created_at'); $table->softDeletes(); $table->string('value')->unique(); }); Schema::create('origins', function (Blueprint $table) { $table->id(); $table->timestamp('created_at'); $table->softDeletes(); $table->string('value')->unique(); }); Schema::table('echomails', function (Blueprint $table) { $table->bigInteger('tagline_id')->nullable(); $table->foreign('tagline_id')->references('id')->on('taglines'); $table->bigInteger('tearline_id')->nullable(); $table->foreign('tearline_id')->references('id')->on('tearlines'); $table->bigInteger('origin_id')->nullable(); $table->foreign('origin_id')->references('id')->on('origins'); }); Schema::table('netmails', function (Blueprint $table) { $table->bigInteger('tagline_id')->nullable(); $table->foreign('tagline_id')->references('id')->on('taglines'); $table->bigInteger('tearline_id')->nullable(); $table->foreign('tearline_id')->references('id')->on('tearlines'); $table->bigInteger('origin_id')->nullable(); $table->foreign('origin_id')->references('id')->on('origins'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::table('netmails', function (Blueprint $table) { $table->dropForeign(['tagline_id']); $table->dropForeign(['tearline_id']); $table->dropForeign(['origin_id']); $table->dropColumn(['tagline_id','tearline_id','origin_id']); }); Schema::table('echomails', function (Blueprint $table) { $table->dropForeign(['tagline_id']); $table->dropForeign(['tearline_id']); $table->dropForeign(['origin_id']); $table->dropColumn(['tagline_id','tearline_id','origin_id']); }); Schema::dropIfExists('origins'); Schema::dropIfExists('tearlines'); Schema::dropIfExists('taglines'); } };