bigIncrements('id'); $table->timestamps(); $table->softDeletes(); $table->string('title', 255); $table->unique('title'); } ); Schema::create( 'user_roles', static function (Blueprint $table) { $table->bigIncrements('id'); $table->timestamps(); $table->softDeletes(); $table->string('title', 255); $table->unique('title'); } ); Schema::create( 'group_memberships', static function (Blueprint $table) { $table->bigIncrements('id'); $table->timestamps(); $table->softDeletes(); $table->integer('user_id', false, true); $table->bigInteger('user_group_id', false, true); $table->bigInteger('user_role_id', false, true); $table->foreign('user_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('cascade'); $table->foreign('user_group_id')->references('id')->on('user_groups')->onUpdate('cascade')->onDelete('cascade'); $table->foreign('user_role_id')->references('id')->on('user_roles')->onUpdate('cascade')->onDelete('cascade'); $table->unique(['user_id', 'user_group_id', 'user_role_id']); } ); } }