Files
RuoYi-Vue/sql/virtual_pay_resource_specs.sql

30 lines
1.6 KiB
MySQL
Raw Permalink Normal View History

-- 资源虚拟支付:简版多规格迁移
-- 前置条件:已经执行 sql/virtual_pay_resource.sql。
-- 约定app_resource_list 的每一行就是一个可单独购买的规格。
-- 执行前请备份数据库。
ALTER TABLE app_resource_list
ADD COLUMN price_fen INT NOT NULL DEFAULT 0 COMMENT '规格价格,单位分' AFTER password,
ADD COLUMN status TINYINT NOT NULL DEFAULT 1 COMMENT '1启用 0停用' AFTER price_fen,
ADD COLUMN sort_order INT NOT NULL DEFAULT 0 COMMENT '显示顺序' AFTER status;
-- 现有付费资源的下载项继承原资源价格非付费资源价格保持0。
UPDATE app_resource_list rl
INNER JOIN app_resource r ON r.id = rl.app_resource_id
SET rl.price_fen = r.price_fen
WHERE r.is_ad = 3 AND rl.price_fen = 0;
ALTER TABLE app_virtual_order
ADD COLUMN resource_list_id BIGINT NULL COMMENT '购买的资源规格IDNULL表示旧版整项购买' AFTER resource_id,
ADD COLUMN spec_name_snapshot VARCHAR(255) NULL COMMENT '下单时的规格名称快照' AFTER resource_list_id,
ADD KEY idx_virtual_order_resource_list (resource_list_id);
ALTER TABLE app_resource_entitlement
ADD COLUMN resource_list_id BIGINT NULL COMMENT '解锁的资源规格IDNULL表示旧版整项权益' AFTER resource_id,
DROP INDEX uk_resource_entitlement_user_resource,
ADD UNIQUE KEY uk_entitlement_user_resource_spec (user_id, resource_id, resource_list_id),
ADD KEY idx_entitlement_resource_list (resource_list_id);
-- 旧订单和旧权益保留 resource_list_id=NULL继续拥有整项资源访问权限。
-- 新订单必须写入具体 resource_list_id只解锁所购买的规格。