2026_05_14_000004_create_user_permissions_table.php 812 B

123456789101112131415161718192021222324252627
  1. <?php
  2. use Illuminate\Database\Migrations\Migration;
  3. use Illuminate\Database\Schema\Blueprint;
  4. use Illuminate\Support\Facades\Schema;
  5. return new class extends Migration
  6. {
  7. public function up(): void
  8. {
  9. Schema::create('user_permissions', function (Blueprint $table) {
  10. $table->foreignId('user_id')->constrained()->cascadeOnDelete();
  11. $table->foreignId('permission_id')->constrained()->cascadeOnDelete();
  12. $table->string('effect')->default('allow');
  13. $table->text('reason')->nullable();
  14. $table->timestamp('expires_at')->nullable();
  15. $table->timestamps();
  16. $table->primary(['user_id', 'permission_id']);
  17. });
  18. }
  19. public function down(): void
  20. {
  21. Schema::dropIfExists('user_permissions');
  22. }
  23. };