20260902223822
This commit is contained in:
1 parent
db7813a2d2
commit
c8940f6e03
11 files changed
+327
-922
No files matched your search
@@ -256,14 +256,11 @@ BEGIN
|
||||
b_menu_type varchar(20) NOT NULL,
|
||||
b_route varchar(200) NULL,
|
||||
b_module_id bigint NULL,
|
||||
b_power_code varchar(50) NULL,
|
||||
b_icon nvarchar(max) NULL, -- 图标:lucide:Name 引用 lucide,否则为 SVG 标记
|
||||
b_xh int NOT NULL CONSTRAINT DF_s_menu_xh DEFAULT (0),
|
||||
b_canuse int NOT NULL CONSTRAINT DF_s_menu_canuse DEFAULT (1),
|
||||
CONSTRAINT PK_s_menu PRIMARY KEY (b_id),
|
||||
CONSTRAINT UQ_s_menu_code UNIQUE (b_code),
|
||||
CONSTRAINT CK_s_menu_parent CHECK (b_parent_id IS NULL OR b_parent_id <> b_id),
|
||||
CONSTRAINT CK_s_menu_type CHECK (b_menu_type IN ('directory','page','data','external'))
|
||||
CONSTRAINT UQ_s_menu_code UNIQUE (b_code)
|
||||
);
|
||||
CREATE INDEX IX_s_menu_parent ON dbo.s_menu (b_parent_id, b_xh, b_canuse);
|
||||
CREATE INDEX IX_s_menu_module ON dbo.s_menu (b_module_id);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
菜单访问权限统一由 s_menu.b_code 派生,不再保存独立的 b_power_code。
|
||||
可重复执行:仅在旧列存在时删除。
|
||||
*/
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
IF DB_NAME() <> N'FMS'
|
||||
THROW 53600, N'This migration can only run against the FMS database.', 1;
|
||||
|
||||
IF COL_LENGTH(N'dbo.s_menu', N'b_power_code') IS NOT NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.s_menu DROP COLUMN b_power_code;
|
||||
END;
|
||||
|
||||
PRINT N'Migration 104 applied: s_menu.b_power_code removed.';
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
菜单类型由业务层校验,不在数据库中使用 CHECK 约束限制。
|
||||
现有 data 菜单统一迁移为 page:页面现在同时填写路由和绑定模块。
|
||||
可重复执行:仅处理仍存在的旧数据或约束。
|
||||
*/
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
IF DB_NAME() <> N'FMS'
|
||||
THROW 53600, N'This migration can only run against the FMS database.', 1;
|
||||
|
||||
IF OBJECT_ID(N'dbo.s_menu', N'U') IS NOT NULL
|
||||
BEGIN
|
||||
UPDATE dbo.s_menu
|
||||
SET b_menu_type = 'page'
|
||||
WHERE b_menu_type = 'data';
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.check_constraints
|
||||
WHERE parent_object_id = OBJECT_ID(N'dbo.s_menu')
|
||||
AND name = N'CK_s_menu_type'
|
||||
)
|
||||
BEGIN
|
||||
ALTER TABLE dbo.s_menu DROP CONSTRAINT CK_s_menu_type;
|
||||
END;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.check_constraints
|
||||
WHERE parent_object_id = OBJECT_ID(N'dbo.s_menu')
|
||||
AND name = N'CK_s_menu_parent'
|
||||
)
|
||||
BEGIN
|
||||
ALTER TABLE dbo.s_menu DROP CONSTRAINT CK_s_menu_parent;
|
||||
END;
|
||||
END;
|
||||
|
||||
PRINT N'Migration 105 applied: s_menu uses directory/page/external and business-layer validation.';
|
||||
Reference in new issue
Block a user