increments('id'); $table->unsignedInteger('account_id'); $table->unsignedInteger('contact_id'); $table->unsignedInteger('contact_field_type_id'); $table->datetime('happened_at'); $table->timestamps(); $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); $table->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade'); $table->foreign('contact_field_type_id')->references('id')->on('contact_field_types')->onDelete('cascade'); }); Schema::create('messages', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('account_id'); $table->unsignedInteger('contact_id'); $table->unsignedInteger('conversation_id'); $table->longText('content'); $table->datetime('written_at'); $table->boolean('written_by_me'); $table->timestamps(); $table->foreign('conversation_id')->references('id')->on('conversations')->onDelete('cascade'); $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); $table->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('conversations'); Schema::dropIfExists('messages'); } }