20 lines
5.4 KiB
JSON
20 lines
5.4 KiB
JSON
{
|
|
"id": "m0032",
|
|
"title": "权限残留清理(对齐测试环境权威参照): 删51条历史注册残留——discount双段路径18条(文件不存在/菜单不引用/部分绑any匿名放行面)+pipeline-sdlc旧CRUD与options23条(冻结版load_path零注册/部分绑机构角色logined错配行)+userapp/userdepartment废弃表权限10条(技能既定清理项)。保留/pipeline_core/pipeline_tool_policies/*(冻结代码load_path明确注册,生产正确测试缺)。定性证据:文件存在性NOENT+菜单grep零引用+测试环境无此行。破坏性DELETE走apply-approved",
|
|
"destructive": true,
|
|
"backup_tables": [
|
|
"permission",
|
|
"rolepermission"
|
|
],
|
|
"up": [
|
|
{
|
|
"op": "sql",
|
|
"sql": "DELETE FROM rolepermission WHERE permid IN (SELECT id FROM permission WHERE path IN ('/discount/discount','/discount/discount_marketing','/discount/discount_marketing/add_discount_marketing.dspy','/discount/discount_marketing/delete_discount_marketing.dspy','/discount/discount_marketing/get_discount_marketing.dspy','/discount/discount_marketing/index.ui','/discount/discount_marketing/update_discount_marketing.dspy','/discount/discount_promo_code','/discount/discount_promo_code/add_discount_promo_code.dspy','/discount/discount_promo_code/delete_discount_promo_code.dspy','/discount/discount_promo_code/get_discount_promo_code.dspy','/discount/discount_promo_code/index.ui','/discount/discount_promo_code/update_discount_promo_code.dspy','/discount/discount/add_discount.dspy','/discount/discount/delete_discount.dspy','/discount/discount/get_discount.dspy','/discount/discount/index.ui','/discount/discount/update_discount.dspy','/pipeline-sdlc/api/get_model_options.dspy','/pipeline-sdlc/api/get_pipeline_options.dspy','/pipeline-sdlc/api/get_project_options.dspy','/pipeline-sdlc/api/get_project_select_options.dspy','/pipeline-sdlc/api/get_role_options.dspy','/pipeline-sdlc/api/get_search_project_type.dspy','/pipeline-sdlc/api/get_search_status.dspy','/pipeline-sdlc/sd_project_list/*','/pipeline-sdlc/sd_project_list/**','/pipeline-sdlc/sd_project_list/index.ui','/pipeline-sdlc/sd_project_role_models/add_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/delete_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/get_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/index.ui','/pipeline-sdlc/sd_project_role_models/update_sd_project_role_models.dspy','/pipeline-sdlc/sd_projects/','/pipeline-sdlc/sd_projects/*','/pipeline-sdlc/sd_projects/**','/pipeline-sdlc/sd_projects/add_sd_projects.dspy','/pipeline-sdlc/sd_projects/delete_sd_projects.dspy','/pipeline-sdlc/sd_projects/get_sd_projects.dspy','/pipeline-sdlc/sd_projects/index.ui','/pipeline-sdlc/sd_projects/update_sd_projects.dspy','/userapp/add_userapp.dspy','/userapp/delete_userapp.dspy','/userapp/get_userapp.dspy','/userapp/index.ui','/userapp/update_userapp.dspy','/userdepartment/add_userdepartment.dspy','/userdepartment/delete_userdepartment.dspy','/userdepartment/get_userdepartment.dspy','/userdepartment/index.ui','/userdepartment/update_userdepartment.dspy'))"
|
|
},
|
|
{
|
|
"op": "sql",
|
|
"sql": "DELETE FROM permission WHERE path IN ('/discount/discount','/discount/discount_marketing','/discount/discount_marketing/add_discount_marketing.dspy','/discount/discount_marketing/delete_discount_marketing.dspy','/discount/discount_marketing/get_discount_marketing.dspy','/discount/discount_marketing/index.ui','/discount/discount_marketing/update_discount_marketing.dspy','/discount/discount_promo_code','/discount/discount_promo_code/add_discount_promo_code.dspy','/discount/discount_promo_code/delete_discount_promo_code.dspy','/discount/discount_promo_code/get_discount_promo_code.dspy','/discount/discount_promo_code/index.ui','/discount/discount_promo_code/update_discount_promo_code.dspy','/discount/discount/add_discount.dspy','/discount/discount/delete_discount.dspy','/discount/discount/get_discount.dspy','/discount/discount/index.ui','/discount/discount/update_discount.dspy','/pipeline-sdlc/api/get_model_options.dspy','/pipeline-sdlc/api/get_pipeline_options.dspy','/pipeline-sdlc/api/get_project_options.dspy','/pipeline-sdlc/api/get_project_select_options.dspy','/pipeline-sdlc/api/get_role_options.dspy','/pipeline-sdlc/api/get_search_project_type.dspy','/pipeline-sdlc/api/get_search_status.dspy','/pipeline-sdlc/sd_project_list/*','/pipeline-sdlc/sd_project_list/**','/pipeline-sdlc/sd_project_list/index.ui','/pipeline-sdlc/sd_project_role_models/add_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/delete_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/get_sd_project_role_models.dspy','/pipeline-sdlc/sd_project_role_models/index.ui','/pipeline-sdlc/sd_project_role_models/update_sd_project_role_models.dspy','/pipeline-sdlc/sd_projects/','/pipeline-sdlc/sd_projects/*','/pipeline-sdlc/sd_projects/**','/pipeline-sdlc/sd_projects/add_sd_projects.dspy','/pipeline-sdlc/sd_projects/delete_sd_projects.dspy','/pipeline-sdlc/sd_projects/get_sd_projects.dspy','/pipeline-sdlc/sd_projects/index.ui','/pipeline-sdlc/sd_projects/update_sd_projects.dspy','/userapp/add_userapp.dspy','/userapp/delete_userapp.dspy','/userapp/get_userapp.dspy','/userapp/index.ui','/userapp/update_userapp.dspy','/userdepartment/add_userdepartment.dspy','/userdepartment/delete_userdepartment.dspy','/userdepartment/get_userdepartment.dspy','/userdepartment/index.ui','/userdepartment/update_userdepartment.dspy')"
|
|
}
|
|
],
|
|
"down": []
|
|
} |