!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use Illuminate\Database\Migrations\Migration;
 | 
						|
use Illuminate\Database\Schema\Blueprint;
 | 
						|
use Illuminate\Support\Facades\Schema;
 | 
						|
use Illuminate\Support\Facades\DB;
 | 
						|
use Illuminate\Support\Carbon;
 | 
						|
 | 
						|
return new class extends Migration
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Run the migrations.
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function up()
 | 
						|
    {
 | 
						|
        Schema::create('roles', function (Blueprint $table) {
 | 
						|
            $table->id();
 | 
						|
            $table->string('name');
 | 
						|
            $table->string('code')->unique();
 | 
						|
            $table->timestamps();
 | 
						|
            $table->softDeletes();
 | 
						|
        });
 | 
						|
 | 
						|
        DB::table('roles')->insert([
 | 
						|
            'name' => 'Administrator',
 | 
						|
            'code' => 'admin',
 | 
						|
            'created_at' => Carbon::now(),
 | 
						|
            'updated_at' => Carbon::now()
 | 
						|
        ]);
 | 
						|
 | 
						|
        Schema::create('role_user', function (Blueprint $table) {
 | 
						|
            $table->unsignedBigInteger('user_id')->index();
 | 
						|
            $table->unsignedBigInteger('role_id');
 | 
						|
            $table->foreign('user_id')->references('id')->on('users');
 | 
						|
            $table->foreign('role_id')->references('id')->on('roles');
 | 
						|
            $table->primary(['user_id', 'role_id']);
 | 
						|
        });
 | 
						|
 | 
						|
        Schema::create('role_permission', function (Blueprint $table) {
 | 
						|
            $table->id();
 | 
						|
            $table->unsignedBigInteger('role_id')->index();
 | 
						|
            $table->string('permission');
 | 
						|
            $table->foreign('role_id')->references('id')->on('roles');
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Reverse the migrations.
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function down()
 | 
						|
    {
 | 
						|
        Schema::dropIfExists('role_permission');
 | 
						|
        Schema::dropIfExists('role_user');
 | 
						|
        Schema::dropIfExists('roles');
 | 
						|
    }
 | 
						|
};
 |