Files
medical-mall/docs/sql/README_EXECUTION_ORDER.md

26 KiB
Raw Permalink Blame History

SQL 文件执行顺序文档(软删除标准化改造 + Admin 模块全量)

目标

为本次“软删除标准化改造Schema + RLS + RPC”提供可直接执行顺序准确的数据库同步步骤,同时整理全量 Admin 模块对应的数据库文件,确保:

  • 先补齐表字段与索引(避免 RPC/RLS 引用字段失败);
  • 再应用 RLS确保查询默认过滤已软删数据
  • 最后加载/替换 RPC确保删除行为变更与审计字段写入生效

前置约束

  • 执行账号需具备:ALTER TABLECREATE INDEXALTER POLICY/CREATE POLICYCREATE OR REPLACE FUNCTION 等权限。
  • 禁止并发执行:建议串行执行,尤其是 RLS/RPC 部分。
  • 若生产环境已存在同名对象:本次以 CREATE OR REPLACE FUNCTION 与 policy 更新为主,属于“覆盖式更新”。

第一阶段Schema / Migration必须先执行

目的:补齐 deleted_at/deleted_by/restored_at/restored_by 字段与软删除索引,作为后续 RLS/RPC 的基础依赖。

序号 文件路径 说明
1 10_schema/99_soft_delete_migration_v1.sql 软删除字段迁移(核心)

其他 Schema 文件(按业务域分类)

Admin 域

文件路径 说明
10_schema/admin/ml_system_configs_v1.sql 系统配置表

Auth 域

文件路径 说明
10_schema/user/ak_auth_system_v1.sql 认证系统表roles/permissions/admin_roles/role_permissions
10_schema/user/ak_users_add_phone_real_name_v1.sql 用户扩展字段
10_schema/user/ak_users_finance_fields_v1.sql 用户财务字段
10_schema/user/ak_users_constraints_fix_v1.sql 用户表约束修复

CMS 域

文件路径 说明
10_schema/cms/ml_cms_tables_v1.sql CMS 内容管理表

Decoration 域

文件路径 说明
10_schema/decoration/ak_diy_pages_v1.sql DIY 页面表

Delivery 域

文件路径 说明
10_schema/delivery/ak_delivery_system_v1.sql 配送系统表

Distribution 域

文件路径 说明
10_schema/distribution/ak_distribution_agents_v1.sql 分销代理表
10_schema/distribution/ak_distribution_agent_applications_v1.sql 代理申请表
10_schema/distribution/ak_distribution_divisions_v1.sql 事业部表
10_schema/distribution/ak_distribution_division_applications_v1.sql 事业部申请表
10_schema/distribution/ak_promoter_relations_v1.sql 推广员关系表
10_schema/distribution/ak_commission_logs_v1.sql 佣金日志表
10_schema/distribution/ak_distribution_level_v1.sql 分销等级表
10_schema/distribution/ak_distribution_config_v1.sql 分销配置表

Finance 域

文件路径 说明
10_schema/finance/ml_invoices_v1.sql 发票表
10_schema/finance/ml_extract_v1.sql 提现表
10_schema/finance/ml_user_recharge_v1.sql 用户充值表
10_schema/finance/ml_user_bill_v1.sql 用户账单表

Kefu 域

文件路径 说明
10_schema/kefu/ml_kefu_tables_v1.sql 客服系统表

Marketing 域

文件路径 说明
10_schema/marketing/ak_lottery_live_v1.sql 直播抽奖
10_schema/marketing/ak_marketing_signin_logs_v1.sql 签到日志
10_schema/marketing/ak_marketing_newcomer_config_v1.sql 新人配置
10_schema/marketing/ak_bargain_groupbuy_v1.sql 拼团砍价
10_schema/marketing/ak_live_products_v1.sql 直播商品
10_schema/marketing/ak_advanced_marketing_v1.sql 高级营销
10_schema/marketing/ak_marketing_checkin_configs_v1.sql 签到配置
10_schema/marketing/ak_recharge_management_v1.sql 充值管理
10_schema/marketing/ak_member_management_v1.sql 会员管理
10_schema/marketing/ak_signin_configs_v1.sql 签到配置

Order 域

文件路径 说明
10_schema/order/ml_orders_schema_update_v1.sql 订单表结构更新

Product 域

文件路径 说明
10_schema/product/ml_products_ext_v1.sql 商品扩展表
10_schema/product/ak_shipping_templates_v1.sql 运费模板
10_schema/product/ak_product_member_prices_v1.sql 会员价
10_schema/product/ak_product_protections_v1.sql 商品保障
10_schema/product/ak_product_templates_v1.sql 商品模板
10_schema/product/ak_product_labels_v1.sql 商品标签

User 域

文件路径 说明
10_schema/user/ak_user_labels_v1.sql 用户标签表
10_schema/user/ak_user_groups_v1.sql 用户分组表
10_schema/user/ak_user_levels_v1.sql 用户等级表

第二阶段RLS在 Schema 之后执行)

目的:将各模块策略统一补齐 deleted_at IS NULL,确保默认查询排除已软删记录。

按域执行(域之间无强依赖,可按任意顺序;但必须在 RPC 之前执行):

Auth 域(新增)

文件路径 说明
20_rls/auth/ak_auth_rls_v1.sql 权限/角色表 RLS 策略(禁止直接访问)

Admin 域

文件路径 说明
20_rls/admin/ml_system_configs_rls_v1.sql 系统配置 RLS

CMS 域

文件路径 说明
20_rls/cms/ml_cms_rls_v1.sql CMS 内容 RLS

Decoration 域

文件路径 说明
20_rls/decoration/ml_decoration_rls_v1.sql 装修 RLS

Delivery 域

文件路径 说明
20_rls/delivery/ak_delivery_rls_v1.sql 配送 RLS

Distribution 域

文件路径 说明
20_rls/distribution/ml_distribution_rls_v1.sql 分销 RLS

Finance 域

文件路径 说明
20_rls/finance/ml_extract_rls_v1.sql 提现 RLS
20_rls/finance/ml_invoices_rls_v1.sql 发票 RLS
20_rls/finance/ml_user_bill_rls_v1.sql 用户账单 RLS
20_rls/finance/ml_user_recharge_rls_v1.sql 用户充值 RLS

Kefu 域

文件路径 说明
20_rls/kefu/ml_kefu_rls_v1.sql 客服 RLS

Marketing 域

文件路径 说明
20_rls/marketing/ml_marketing_others_rls_v1.sql 其他营销 RLS
20_rls/marketing/ml_marketing_activities_rls_v1.sql 营销活动 RLS
20_rls/marketing/ml_coupon_templates_rls_v1.sql 优惠券模板 RLS

User 域

文件路径 说明
20_rls/user/ak_user_labels_rls_v1.sql 用户标签 RLS
20_rls/user/ak_user_groups_rls_v1.sql 用户分组 RLS
20_rls/user/ak_user_levels_rls_v1.sql 用户等级 RLS

第三阶段RPC最后执行

目的:将“删除”统一切换为软删除(写入 deleted_at/deleted_by),并在需要的函数中补齐级联软删。

按域执行(域之间一般无强依赖;但建议按下列顺序,先基础权限/用户,再业务模块):


3.1 Admin 域(系统管理)

查询类

文件路径 说明
30_rpc/admin/rpc_admin_get_system_info_v1.sql 获取系统信息
30_rpc/admin/rpc_admin_get_overall_stats_v1.sql 获取整体统计
30_rpc/admin/rpc_admin_system_config_get_v1.sql 获取系统配置

保存/更新类

文件路径 说明
30_rpc/admin/rpc_admin_system_config_save_v1.sql 保存系统配置

3.2 Auth 域(权限认证)

权限校验辅助函数(新增)

文件路径 说明
30_rpc/auth/fn_check_admin_permission_v1.sql 通用 RBAC 权限校验函数

查询类

文件路径 说明
30_rpc/auth/rpc_admin_get_permission_list_v1.sql 获取权限列表
30_rpc/auth/rpc_admin_get_role_list_v1.sql 获取角色列表
30_rpc/auth/rpc_admin_get_admin_list_v1.sql 获取管理员列表
30_rpc/auth/get_current_user_role_v1.sql 获取当前用户角色

保存/更新类

文件路径 说明
30_rpc/auth/rpc_admin_save_permission_v1.sql 保存权限
30_rpc/auth/rpc_admin_save_role_v1.sql 保存角色

删除类(软删除)

文件路径 说明
30_rpc/auth/rpc_admin_delete_permission_v1.sql 删除权限(软删除)
30_rpc/auth/rpc_admin_delete_role_v1.sql 删除角色(软删除)

用户处理类

文件路径 说明
30_rpc/auth/handle_new_user_v3.sql 处理新用户 v3
30_rpc/auth/handle_new_user_v2.sql 处理新用户 v2

3.3 CMS 域(内容管理)

查询类

文件路径 说明
30_rpc/cms/rpc_admin_article_list_v1.sql 获取文章列表
30_rpc/cms/rpc_admin_article_get_detail_v1.sql 获取文章详情
30_rpc/cms/rpc_admin_article_category_list_v1.sql 获取文章分类列表

保存/更新类

文件路径 说明
30_rpc/cms/rpc_admin_article_save_v1.sql 保存文章
30_rpc/cms/rpc_admin_article_category_save_v1.sql 保存文章分类

删除类(软删除)

文件路径 说明
30_rpc/cms/rpc_admin_article_delete_v1.sql 删除文章(软删除)
30_rpc/cms/rpc_admin_article_category_delete_v1.sql 删除文章分类(软删除)

状态管理类

文件路径 说明
30_rpc/cms/rpc_admin_article_set_status_v1.sql 设置文章状态
30_rpc/cms/rpc_admin_article_category_set_status_v1.sql 设置文章分类状态

3.4 Decoration 域(装修管理)

查询类

文件路径 说明
30_rpc/decoration/rpc_admin_get_diy_page_list_v1.sql 获取 DIY 页面列表

保存/更新类

文件路径 说明
30_rpc/decoration/rpc_admin_save_diy_page_v1.sql 保存 DIY 页面
30_rpc/decoration/rpc_admin_set_home_page_v1.sql 设置首页

删除类(软删除)

文件路径 说明
30_rpc/decoration/rpc_admin_delete_diy_page_v1.sql 删除 DIY 页面(软删除)

3.5 Delivery 域(配送管理)

查询类

文件路径 说明
30_rpc/delivery/rpc_admin_get_delivery_staff_list_v1.sql 获取配送员列表
30_rpc/delivery/rpc_admin_get_delivery_station_list_v1.sql 获取配送站点列表

保存/更新类

文件路径 说明
30_rpc/delivery/rpc_admin_save_delivery_staff_v1.sql 保存配送员
30_rpc/delivery/rpc_admin_save_delivery_station_v1.sql 保存配送站点

删除类(软删除)

文件路径 说明
30_rpc/delivery/rpc_admin_delete_delivery_staff_v1.sql 删除配送员(软删除)
30_rpc/delivery/rpc_admin_delete_delivery_station_v1.sql 删除配送站点(软删除)

3.6 Distribution 域(分销管理)

查询类

文件路径 说明
30_rpc/distribution/rpc_admin_get_agent_list_v1.sql 获取代理列表
30_rpc/distribution/rpc_admin_get_agent_apply_list_v1.sql 获取代理申请列表
30_rpc/distribution/rpc_admin_get_division_list_v1.sql 获取事业部列表
30_rpc/distribution/rpc_admin_get_promoter_list_v1.sql 获取推广员列表

保存/更新类

文件路径 说明
30_rpc/distribution/rpc_admin_save_agent_v1.sql 保存代理
30_rpc/distribution/rpc_admin_save_division_v1.sql 保存事业部

删除类(软删除)

文件路径 说明
30_rpc/distribution/rpc_admin_delete_agent_v1.sql 删除代理(软删除)
30_rpc/distribution/rpc_admin_delete_division_v1.sql 删除事业部(软删除)

处理/审核类

文件路径 说明
30_rpc/distribution/rpc_admin_process_agent_apply_v1.sql 处理代理申请

3.7 Finance 域(财务管理)

查询/统计类

文件路径 说明
30_rpc/finance/rpc_admin_balance_stats_v1.sql 余额统计
30_rpc/finance/rpc_admin_balance_distribution_v1.sql 余额分布
30_rpc/finance/rpc_admin_balance_trend_v1.sql 余额趋势
30_rpc/finance/rpc_admin_finance_bill_summary_v1.sql 财务账单汇总
30_rpc/finance/rpc_admin_finance_overview_v1.sql 财务概览
30_rpc/finance/rpc_admin_invoice_list_v1.sql 发票列表
30_rpc/finance/rpc_admin_user_bill_list_v1.sql 用户账单列表
30_rpc/finance/rpc_admin_recharge_list_v1.sql 充值列表
30_rpc/finance/rpc_admin_extract_list_v1.sql 提现列表

处理/审核类

文件路径 说明
30_rpc/finance/rpc_admin_invoice_process_v1.sql 处理发票
30_rpc/finance/rpc_admin_recharge_audit_v1.sql 审核充值
30_rpc/finance/rpc_admin_extract_review_v1.sql 审核提现

3.8 Kefu 域(客服管理)

查询类

文件路径 说明
30_rpc/kefu/rpc_admin_kefu_account_list_v1.sql 获取客服账号列表
30_rpc/kefu/rpc_admin_kefu_auto_reply_list_v1.sql 获取自动回复列表
30_rpc/kefu/rpc_admin_kefu_word_list_v1.sql 获取客服话术列表
30_rpc/kefu/rpc_admin_kefu_word_category_list_v1.sql 获取话术分类列表
30_rpc/kefu/rpc_admin_kefu_feedback_list_v1.sql 获取反馈列表

保存/更新类

文件路径 说明
30_rpc/kefu/rpc_admin_kefu_account_save_v1.sql 保存客服账号
30_rpc/kefu/rpc_admin_kefu_auto_reply_save_v1.sql 保存自动回复
30_rpc/kefu/rpc_admin_kefu_word_save_v1.sql 保存客服话术
30_rpc/kefu/rpc_admin_kefu_word_category_save_v1.sql 保存话术分类

删除类(软删除)

文件路径 说明
30_rpc/kefu/rpc_admin_kefu_account_delete_v1.sql 删除客服账号(软删除)
30_rpc/kefu/rpc_admin_kefu_auto_reply_delete_v1.sql 删除自动回复(软删除)
30_rpc/kefu/rpc_admin_kefu_word_delete_v1.sql 删除客服话术(软删除)
30_rpc/kefu/rpc_admin_kefu_word_category_delete_v1.sql 删除话术分类(软删除)

状态/处理类

文件路径 说明
30_rpc/kefu/rpc_admin_kefu_account_set_status_v1.sql 设置客服账号状态
30_rpc/kefu/rpc_admin_kefu_auto_reply_set_status_v1.sql 设置自动回复状态
30_rpc/kefu/rpc_admin_kefu_feedback_process_v1.sql 处理客服反馈

3.9 Marketing 域(营销管理)

查询/统计类

文件路径 说明
30_rpc/marketing/rpc_admin_get_integral_stats_v1.sql 获取积分统计

3.10 Order 域(订单管理)

查询/统计类

文件路径 说明
30_rpc/order/rpc_admin_order_list_v1.sql 获取订单列表
30_rpc/order/rpc_admin_order_source_stats_v1.sql 订单来源统计
30_rpc/order/rpc_admin_order_type_stats_v1.sql 订单类型统计
30_rpc/order/rpc_admin_order_stats_v1.sql 订单统计
30_rpc/order/rpc_admin_order_trend_v1.sql 订单趋势
30_rpc/order/rpc_admin_write_off_record_list_v1.sql 核销记录列表
30_rpc/order/rpc_admin_refund_order_list_v1.sql 退款订单列表
30_rpc/order/rpc_admin_cashier_order_list_v1.sql 收银订单列表

3.11 Product 域(商品管理)

查询/统计类

文件路径 说明
30_rpc/product/rpc_admin_get_product_reviews_v1.sql 获取商品评价
30_rpc/product/rpc_admin_product_count_stats_v1.sql 商品数量统计
30_rpc/product/rpc_admin_product_analytics_v1.sql 商品分析
30_rpc/product/rpc_admin_product_trend_v1.sql 商品趋势

删除类(软删除)

文件路径 说明
30_rpc/product/rpc_admin_category_delete_v1.sql 删除商品分类(软删除)

3.12 User 域(用户管理)

查询类

文件路径 说明
30_rpc/user/rpc_admin_user_label_list_v1.sql 获取用户标签列表
30_rpc/user/rpc_admin_user_group_list_v1.sql 获取用户分组列表
30_rpc/user/rpc_admin_user_level_list_v1.sql 获取用户等级列表

保存/更新类

文件路径 说明
30_rpc/user/rpc_admin_user_label_save_v1.sql 保存用户标签
30_rpc/user/rpc_admin_user_group_save_v1.sql 保存用户分组
30_rpc/user/rpc_admin_user_level_save_v1.sql 保存用户等级

删除类(软删除)

文件路径 说明
30_rpc/user/rpc_admin_user_label_delete_v1.sql 删除用户标签(软删除)
30_rpc/user/rpc_admin_user_group_delete_v1.sql 删除用户分组(软删除)
30_rpc/user/rpc_admin_user_level_delete_v1.sql 删除用户等级(软删除)

状态/可见性管理类

文件路径 说明
30_rpc/user/rpc_admin_user_label_set_status_v1.sql 设置用户标签状态
30_rpc/user/rpc_admin_user_group_set_status_v1.sql 设置用户分组状态
30_rpc/user/rpc_admin_user_level_set_status_v1.sql 设置用户等级状态
30_rpc/user/rpc_admin_user_level_set_visible_v1.sql 设置用户等级可见性

3.13 Analytics 域(数据分析)

文件路径 说明
30_rpc/analytics/rpc_analytics_user_gender_distribution_v1.sql 用户性别分布分析

执行后验证清单

  • 字段存在性:抽查任一涉及表,确认 deleted_at/deleted_by 字段存在。
  • 索引存在性:确认 idx_<table>_soft_delete 存在。
  • RLS 生效:软删一条数据后,使用正常查询路径确认该条记录不可见。
  • RPC 行为:调用任一删除 RPC确认
    • 记录未被物理删除;
    • deleted_at 写入;
    • deleted_by 写入(管理员 ID
    • 需要级联的对象其关联数据同步被软删。