12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- use Illuminate\Database\Migrations\Migration;
- use Illuminate\Database\Schema\Blueprint;
- use Illuminate\Support\Facades\Schema;
- class LaratrustSetupTables extends Migration
- {
-
- public function up()
- {
-
- Schema::create('roles', function (Blueprint $table) {
- $table->increments('id');
- $table->string('name')->unique();
- $table->string('display_name')->nullable();
- $table->string('description')->nullable();
- $table->timestamps();
- });
-
- Schema::create('permissions', function (Blueprint $table) {
- $table->increments('id');
- $table->string('name')->unique();
- $table->string('display_name')->nullable();
- $table->string('description')->nullable();
- $table->timestamps();
- });
-
- Schema::create('role_user', function (Blueprint $table) {
- $table->unsignedInteger('role_id');
- $table->unsignedInteger('user_id');
- $table->string('user_type');
- $table->foreign('role_id')->references('id')->on('roles')
- ->onUpdate('cascade')->onDelete('cascade');
- $table->primary(['user_id', 'role_id', 'user_type']);
- });
-
- Schema::create('permission_user', function (Blueprint $table) {
- $table->unsignedInteger('permission_id');
- $table->unsignedInteger('user_id');
- $table->string('user_type');
- $table->foreign('permission_id')->references('id')->on('permissions')
- ->onUpdate('cascade')->onDelete('cascade');
- $table->primary(['user_id', 'permission_id', 'user_type']);
- });
-
- Schema::create('permission_role', function (Blueprint $table) {
- $table->unsignedInteger('permission_id');
- $table->unsignedInteger('role_id');
- $table->foreign('permission_id')->references('id')->on('permissions')
- ->onUpdate('cascade')->onDelete('cascade');
- $table->foreign('role_id')->references('id')->on('roles')
- ->onUpdate('cascade')->onDelete('cascade');
- $table->primary(['permission_id', 'role_id']);
- });
- }
-
- public function down()
- {
- Schema::dropIfExists('permission_user');
- Schema::dropIfExists('permission_role');
- Schema::dropIfExists('role_user');
- Schema::dropIfExists('permissions');
- Schema::dropIfExists('roles');
- Schema::dropIfExists('users');
- }
- }
|