You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
use Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;
class CreateAdminTables extends Migration{ public function getConnection() { return $this->config('database.connection') ?: config('database.default'); }
public function config($key) { return config('admin.'.$key); }
/** * Run the migrations. * * @return void */ public function up() { Schema::create($this->config('database.users_table'), function (Blueprint $table) { $table->bigIncrements('id'); $table->string('username', 120)->unique(); $table->string('password', 80); $table->string('name'); $table->string('avatar')->nullable(); $table->string('remember_token', 100)->nullable(); $table->timestamps(); });
Schema::create($this->config('database.roles_table'), function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name', 50); $table->string('slug', 50)->unique(); $table->timestamps(); });
Schema::create($this->config('database.permissions_table'), function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name', 50); $table->string('slug', 50)->unique(); $table->string('http_method')->nullable(); $table->text('http_path')->nullable(); $table->integer('order')->default(0); $table->bigInteger('parent_id')->default(0); $table->timestamps(); });
Schema::create($this->config('database.menu_table'), function (Blueprint $table) { $table->bigIncrements('id'); $table->bigInteger('parent_id')->default(0); $table->integer('order')->default(0); $table->string('title', 50); $table->string('icon', 50)->nullable(); $table->string('uri', 50)->nullable();
$table->timestamps(); });
Schema::create($this->config('database.role_users_table'), function (Blueprint $table) { $table->bigInteger('role_id'); $table->bigInteger('user_id'); $table->unique(['role_id', 'user_id']); $table->timestamps(); });
Schema::create($this->config('database.role_permissions_table'), function (Blueprint $table) { $table->bigInteger('role_id'); $table->bigInteger('permission_id'); $table->unique(['role_id', 'permission_id']); $table->timestamps(); });
Schema::create($this->config('database.role_menu_table'), function (Blueprint $table) { $table->bigInteger('role_id'); $table->bigInteger('menu_id'); $table->unique(['role_id', 'menu_id']); $table->timestamps(); });
Schema::create($this->config('database.permission_menu_table'), function (Blueprint $table) { $table->bigInteger('permission_id'); $table->bigInteger('menu_id'); $table->unique(['permission_id', 'menu_id']); $table->timestamps(); }); }
/** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists($this->config('database.users_table')); Schema::dropIfExists($this->config('database.roles_table')); Schema::dropIfExists($this->config('database.permissions_table')); Schema::dropIfExists($this->config('database.menu_table')); Schema::dropIfExists($this->config('database.role_users_table')); Schema::dropIfExists($this->config('database.role_permissions_table')); Schema::dropIfExists($this->config('database.role_menu_table')); Schema::dropIfExists($this->config('database.permission_menu_table')); }}
|