diff --git a/app/Http/Controllers/UserRolesPermissionController.php b/app/Http/Controllers/UserRolesPermissionController.php new file mode 100644 index 0000000..876fa60 --- /dev/null +++ b/app/Http/Controllers/UserRolesPermissionController.php @@ -0,0 +1,85 @@ +id(); + + // Foreign keys + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('role_id'); + $table->unsignedBigInteger('permission_id'); + + // Foreign key constraints with cascade on delete + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade'); + $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade'); + + // Timestamps + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('modified_at')->nullable()->useCurrentOnUpdate(); + $table->timestamp('deleted_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('user_roles_permissions', function (Blueprint $table) { + // Dropping foreign key constraints + $table->dropForeign(['user_id']); + $table->dropForeign(['role_id']); + $table->dropForeign(['permission_id']); + }); + + Schema::dropIfExists('user_roles_permissions'); + } +}