mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-30 21:21:09 -04:00 
			
		
		
		
	init crater
This commit is contained in:
		| @ -0,0 +1,90 @@ | ||||
| <?php | ||||
|  | ||||
| use Illuminate\Database\Migrations\Migration; | ||||
| use Illuminate\Database\Schema\Blueprint; | ||||
|  | ||||
| class CreatePermissionTables extends Migration | ||||
| { | ||||
|     /** | ||||
|      * Run the migrations. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function up() | ||||
|     { | ||||
|         $tableNames = config('permission.table_names'); | ||||
|  | ||||
|         Schema::create($tableNames['permissions'], function (Blueprint $table) { | ||||
|             $table->increments('id'); | ||||
|             $table->string('name'); | ||||
|             $table->string('guard_name'); | ||||
|             $table->timestamps(); | ||||
|         }); | ||||
|  | ||||
|         Schema::create($tableNames['roles'], function (Blueprint $table) { | ||||
|             $table->increments('id'); | ||||
|             $table->string('name'); | ||||
|             $table->string('guard_name'); | ||||
|             $table->timestamps(); | ||||
|         }); | ||||
|  | ||||
|         Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames) { | ||||
|             $table->integer('permission_id')->unsigned(); | ||||
|             $table->morphs('model'); | ||||
|  | ||||
|             $table->foreign('permission_id') | ||||
|                 ->references('id') | ||||
|                 ->on($tableNames['permissions']) | ||||
|                 ->onDelete('cascade'); | ||||
|  | ||||
|             $table->primary(['permission_id', 'model_id', 'model_type']); | ||||
|         }); | ||||
|  | ||||
|         Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames) { | ||||
|             $table->integer('role_id')->unsigned(); | ||||
|             $table->morphs('model'); | ||||
|  | ||||
|             $table->foreign('role_id') | ||||
|                 ->references('id') | ||||
|                 ->on($tableNames['roles']) | ||||
|                 ->onDelete('cascade'); | ||||
|  | ||||
|             $table->primary(['role_id', 'model_id', 'model_type']); | ||||
|         }); | ||||
|  | ||||
|         Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) { | ||||
|             $table->integer('permission_id')->unsigned(); | ||||
|             $table->integer('role_id')->unsigned(); | ||||
|  | ||||
|             $table->foreign('permission_id') | ||||
|                 ->references('id') | ||||
|                 ->on($tableNames['permissions']) | ||||
|                 ->onDelete('cascade'); | ||||
|  | ||||
|             $table->foreign('role_id') | ||||
|                 ->references('id') | ||||
|                 ->on($tableNames['roles']) | ||||
|                 ->onDelete('cascade'); | ||||
|  | ||||
|             $table->primary(['permission_id', 'role_id']); | ||||
|  | ||||
|             Cache::forget('spatie.permission.cache'); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Reverse the migrations. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function down() | ||||
|     { | ||||
|         $tableNames = config('permission.table_names'); | ||||
|  | ||||
|         Schema::drop($tableNames['role_has_permissions']); | ||||
|         Schema::drop($tableNames['model_has_roles']); | ||||
|         Schema::drop($tableNames['model_has_permissions']); | ||||
|         Schema::drop($tableNames['roles']); | ||||
|         Schema::drop($tableNames['permissions']); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user