[STYLE] 商品管理與分類管理 UI 標準化,補全多語系翻譯
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 50s

This commit is contained in:
2026-04-01 09:50:57 +08:00
parent e27eee78f5
commit 08fc86d3f8
14 changed files with 567 additions and 279 deletions

View File

@@ -0,0 +1,48 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
// 1. 取得權限 ID
$permission = DB::table('permissions')
->where('name', 'menu.data-config.sub-account-roles')
->first();
if ($permission) {
// 2. 移除角色與該權限的關聯 (雖然 Spatie 通常會處理,但手動確保清理乾淨)
DB::table('role_has_permissions')
->where('permission_id', $permission->id)
->delete();
// 3. 移除權限本身
DB::table('permissions')
->where('id', $permission->id)
->delete();
}
// 4. 清理權限快取 (如果有的話)
try {
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
} catch (\Exception $e) {
// 忽略快取清理失敗(例如在沒有 Redis 的環境中)
}
}
/**
* Reverse the migrations.
*/
public function down(): void
{
// 由於是要永久拿掉down 邏輯通常不需要重建,
// 若真要復原,應透過重跑 Seeder 或手動新增。
}
};

View File

@@ -34,7 +34,6 @@ class RoleSeeder extends Seeder
'menu.data-config.products',
'menu.data-config.advertisements',
'menu.data-config.sub-accounts',
'menu.data-config.sub-account-roles',
'menu.data-config.points',
'menu.data-config.badges',
'menu.remote',
@@ -81,7 +80,6 @@ class RoleSeeder extends Seeder
'menu.data-config.products',
'menu.data-config.advertisements',
'menu.data-config.sub-accounts',
'menu.data-config.sub-account-roles',
'menu.data-config.points',
'menu.data-config.badges',
'menu.remote',