| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- use Illuminate\Database\Migrations\Migration;
- use Illuminate\Database\Schema\Blueprint;
- use Illuminate\Support\Facades\Schema;
- class CreateTerminalsTable extends Migration
- {
- private $parent_name = '基础设置-快递打印-终端';
- private $names = [
- '打印终端-添加' => '基础设置-快递打印-终端-添加',
- '打印终端-编辑' => '基础设置-快递打印-终端-编辑',
- '打印终端-删除' => '基础设置-快递打印-终端-删除',
- ];
- /**
- * Run the migrations.
- *
- * @return void
- */
- public function up()
- {
- Schema::create('terminals', function (Blueprint $table) {
- $table->id();
- $table->string('name')->comment('计算机别名');
- $table->string('ip')->comment('计算机ip地址');
- $table->timestamps();
- });
- $menu = \App\Menu::query()->where('route', 'maintenance/expressPrinting/part')->first();
- $maxMenu = \App\Menu::query()->orderByDesc('sequence')->first();
- $maxSequence = $maxMenu['sequence'];
- $menu = \App\Menu::query()->firstOrCreate(['route' => 'maintenance/expressPrinting/part/setting/terminal/index'], [
- 'name' => '终端设置',
- 'level' => 3,
- 'parent_id' => $menu['id'],
- 'sequence' => $maxSequence++,
- ]);
- $menu = \App\Menu::query()->firstOrCreate(['route' => 'maintenance/expressPrinting/part/setting/terminal/index'], [
- 'name' => '终端',
- 'level' => 4,
- 'parent_id' => $menu['id'],
- 'sequence' => $maxSequence++,
- ]);
- $authority = \App\Authority::query()->firstOrCreate(['name' => '打印终端'], ['alias_name' => $this->parent_name]);
- foreach ($this->names as $name=>$alias_name ) {
- \App\Authority::query()->firstOrCreate(['name' => $name],['alias_name' => $alias_name,'parent_id' => $authority['id']]);
- }
- }
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('terminals');
- \App\Menu::query()->where('route', 'maintenance/expressPrinting/part/setting/terminal/index')->delete();
- $authority = \App\Authority::query()->where( 'alias_name' , $this->parent_name)->first();
- if(!$authority) return ;
- foreach ($this->names as $name=>$alias_name ) {
- \App\Authority::query()->where(['name' => $name,'alias_name' => $alias_name,'parent_id' => $authority->id])->delete();
- }
- }
- }
|