fix:[FL-203][菜单管理 - 修复 INSERT SQL 缺少 visible/cacheable/component 字段]
修复菜单创建接口中 INSERT SQL 语句缺少 visible、cacheable 和 component 字段的问题。 问题描述: - 前端发送的请求包含 visible、cacheable 和 component 字段 - 后端 INSERT SQL 语句未包含这些字段 - 导致数据库使用默认值 null,违反 visible 列的 NOT NULL 约束 修复内容: - 在 INSERT INTO menus 语句中添加 visible、cacheable、component 字段 - 在 VALUES 子句中添加对应的占位符 - 在参数字典中添加这三个字段的值 影响范围: - api/app/services/legacy_admin_rbac_service.py 的 create_menu 函数 Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -555,10 +555,12 @@ def create_menu(db: Session, payload: MenuCreateRequest, *, actor_user_id: str |
|
||||
text(
|
||||
"""
|
||||
INSERT INTO menus (
|
||||
code, name, type, parent_id, path, icon, sort_order, status, permission_code
|
||||
code, name, type, parent_id, path, icon, sort_order, status, permission_code,
|
||||
visible, cacheable, component
|
||||
)
|
||||
VALUES (
|
||||
:code, :name, :type, :parent_id, :path, :icon, :sort_order, :status, :permission_code
|
||||
:code, :name, :type, :parent_id, :path, :icon, :sort_order, :status, :permission_code,
|
||||
:visible, :cacheable, :component
|
||||
)
|
||||
RETURNING id::text AS menu_id
|
||||
"""
|
||||
@@ -573,6 +575,9 @@ def create_menu(db: Session, payload: MenuCreateRequest, *, actor_user_id: str |
|
||||
"sort_order": payload.sort_order,
|
||||
"status": payload.status,
|
||||
"permission_code": payload.permission_code or payload.component,
|
||||
"visible": payload.visible,
|
||||
"cacheable": payload.cacheable,
|
||||
"component": payload.component,
|
||||
},
|
||||
)
|
||||
row = result.mappings().first()
|
||||
|
||||
Reference in New Issue
Block a user