From c90edac630e98f4139c88eec37ec7240fd3078c3 Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Wed, 27 May 2026 01:10:31 -0700 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D(#73):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E4=BF=83=E9=94=80=E8=BF=81=E7=A7=BB=E8=A1=A8=E7=BB=93=E6=9E=84?= =?UTF-8?q?=20=E2=80=94=20subscribe=5Fpromo=20=E5=8A=A0=20quantity=20+=20?= =?UTF-8?q?=E7=B4=A2=E5=BC=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - subscribe_promo 新增 quantity 列,唯一键改为 (subscribe_id, quantity, promo_rule_id) - promo_rule 索引合并为 idx_enabled_priority_deleted (enabled, deleted_at, priority DESC) Co-authored-by: multica-agent --- initialize/migrate/database/02154_promo_system.up.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/initialize/migrate/database/02154_promo_system.up.sql b/initialize/migrate/database/02154_promo_system.up.sql index 2bb4e0f..66be4d3 100644 --- a/initialize/migrate/database/02154_promo_system.up.sql +++ b/initialize/migrate/database/02154_promo_system.up.sql @@ -11,19 +11,19 @@ CREATE TABLE IF NOT EXISTS `promo_rule` ( `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted_at` DATETIME DEFAULT NULL COMMENT '软删除时间', PRIMARY KEY (`id`), - KEY `idx_enabled_priority` (`enabled`, `priority` DESC), - KEY `idx_deleted_at` (`deleted_at`) + KEY `idx_enabled_priority_deleted` (`enabled`, `deleted_at`, `priority` DESC) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='促销规则表'; CREATE TABLE IF NOT EXISTS `subscribe_promo` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `subscribe_id` BIGINT UNSIGNED NOT NULL COMMENT '套餐规格 ID', + `quantity` INT NOT NULL DEFAULT 0 COMMENT '购买数量', `promo_rule_id` BIGINT UNSIGNED NOT NULL COMMENT '促销规则 ID', `promo_price` BIGINT NOT NULL DEFAULT 0 COMMENT '该规格在此规则下的优惠价(分)', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), - UNIQUE KEY `uk_subscribe_rule` (`subscribe_id`, `promo_rule_id`), + UNIQUE KEY `uk_subscribe_qty_rule` (`subscribe_id`, `quantity`, `promo_rule_id`), KEY `idx_promo_rule_id` (`promo_rule_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='规格促销价表';