99 lines
3.6 KiB
SQL
99 lines
3.6 KiB
SQL
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- Remove publish audit children before their parent rows. The joins start from the exact template through
|
|
-- idx_admin_policy_instances_template, then use the existing job/item indexes; no audit-table full scan is required.
|
|
-- These are policy configuration/audit tables only; balances, wallet transactions, Daily Task definitions,
|
|
-- and Host salary policies are outside this migration.
|
|
DELETE item
|
|
FROM admin_policy_publish_items AS item
|
|
INNER JOIN admin_policy_publish_jobs AS job ON job.job_id = item.job_id
|
|
INNER JOIN admin_policy_instances AS instance
|
|
ON instance.instance_id = job.instance_id
|
|
AND instance.template_code = 'fami_guild_revenue_policy'
|
|
WHERE job.template_code = 'fami_guild_revenue_policy';
|
|
|
|
DELETE job
|
|
FROM admin_policy_publish_jobs AS job
|
|
INNER JOIN admin_policy_instances AS instance
|
|
ON instance.instance_id = job.instance_id
|
|
AND instance.template_code = 'fami_guild_revenue_policy'
|
|
WHERE job.template_code = 'fami_guild_revenue_policy';
|
|
|
|
-- template_code is the exact removed capability identity; no product-name branch is added to runtime code.
|
|
DELETE FROM admin_policy_instances
|
|
WHERE template_code = 'fami_guild_revenue_policy';
|
|
|
|
DELETE FROM admin_policy_template_versions
|
|
WHERE template_code = 'fami_guild_revenue_policy';
|
|
|
|
DELETE FROM admin_policy_templates
|
|
WHERE template_code = 'fami_guild_revenue_policy';
|
|
|
|
-- Keep the three POINT financial fields. Team salary, coin-seller and invite configuration have independent owners;
|
|
-- their duplicate PolicyConfig sections are removed so Admin cannot continue presenting inert settings.
|
|
UPDATE admin_policy_template_versions
|
|
SET rule_json = JSON_REMOVE(
|
|
rule_json,
|
|
'$.allow_self_brushing',
|
|
'$.google_coin_per_usd',
|
|
'$.host.point_ratio_percent',
|
|
'$.host.use_gift_type_ratio',
|
|
'$.host.affects_room_heat',
|
|
'$.agency',
|
|
'$.agent',
|
|
'$.bd',
|
|
'$.manager',
|
|
'$.coin_seller',
|
|
'$.game_invite',
|
|
'$.tasks'
|
|
);
|
|
|
|
UPDATE admin_policy_templates
|
|
SET rule_json = JSON_REMOVE(
|
|
rule_json,
|
|
'$.allow_self_brushing',
|
|
'$.google_coin_per_usd',
|
|
'$.host.point_ratio_percent',
|
|
'$.host.use_gift_type_ratio',
|
|
'$.host.affects_room_heat',
|
|
'$.agency',
|
|
'$.agent',
|
|
'$.bd',
|
|
'$.manager',
|
|
'$.coin_seller',
|
|
'$.game_invite',
|
|
'$.tasks'
|
|
);
|
|
|
|
-- 菜单和权限 code 都有唯一索引;以下点更新只修正文案,不重命名权限码、路由或存量 template_code。
|
|
UPDATE admin_menus
|
|
SET title = 'POINT 钱包政策',
|
|
updated_at_ms = CAST(UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) * 1000 AS UNSIGNED)
|
|
WHERE code = 'policy-template';
|
|
|
|
UPDATE admin_permissions
|
|
SET name = CASE code
|
|
WHEN 'policy-template:view' THEN 'POINT 钱包政策查看'
|
|
WHEN 'policy-template:create' THEN 'POINT 钱包政策创建'
|
|
WHEN 'policy-instance:create' THEN 'POINT 钱包政策实例创建'
|
|
WHEN 'policy-instance:update' THEN 'POINT 钱包政策实例更新'
|
|
WHEN 'policy-instance:publish' THEN 'POINT 钱包政策实例发布'
|
|
ELSE name
|
|
END,
|
|
description = CASE code
|
|
WHEN 'policy-template:view' THEN '允许查看 POINT 钱包政策和实例'
|
|
WHEN 'policy-template:create' THEN '允许创建 POINT 钱包政策'
|
|
WHEN 'policy-instance:create' THEN '允许创建 POINT 钱包政策实例'
|
|
WHEN 'policy-instance:update' THEN '允许更新 POINT 钱包政策实例状态'
|
|
WHEN 'policy-instance:publish' THEN '允许发布 POINT 钱包政策实例到运行侧'
|
|
ELSE description
|
|
END,
|
|
updated_at_ms = CAST(UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) * 1000 AS UNSIGNED)
|
|
WHERE code IN (
|
|
'policy-template:view',
|
|
'policy-template:create',
|
|
'policy-instance:create',
|
|
'policy-instance:update',
|
|
'policy-instance:publish'
|
|
);
|