Files
hyperf-micro-svc/seeders/admin_menu_update_02.php
2025-09-12 15:23:08 +08:00

62 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
use App\Model\AdminMenu;
use Hyperf\Database\Seeders\Seeder;
use Hyperf\DbConnection\Db;
use function Hyperf\Support\env;
class AdminMenuUpdate02 extends Seeder
{
public const array BASE_DATA = [
'name' => '',
'path' => '',
'component' => '',
'redirect' => '',
'created_by' => 0,
'updated_by' => 0,
'remark' => '',
];
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
if (env('DB_DRIVER') === 'odbc-sql-server') {
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] ON;');
}
$this->create($this->data());
if (env('DB_DRIVER') === 'odbc-sql-server') {
Db::unprepared('SET IDENTITY_INSERT [' . AdminMenu::getModel()->getTable() . '] OFF;');
}
}
/**
* @param array $data
* @return void
*/
private function create(array $data): void
{
foreach ($data as $originValue => $newValue) {
AdminMenu::query()->where('name', $originValue)->update(['name' => $newValue]);
}
}
/**
* @return string[]
*/
public function data(): array
{
return [
'permission:get:role' => 'permission:role:getMenu',
'permission:set:role' => 'permission:role:setMenu',
'user:get:roles' => 'permission:user:getRole',
'user:set:roles' => 'permission:user:setRole',
];
}
}