All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
28 lines
1.3 KiB
SQL
28 lines
1.3 KiB
SQL
-- 为 tb_package_usage 增加流量语义快照字段,并按当前套餐模板回填历史数据。
|
||
|
||
ALTER TABLE tb_package_usage
|
||
ADD COLUMN virtual_total_mb_snapshot BIGINT NOT NULL DEFAULT 0,
|
||
ADD COLUMN display_gain_ratio_snapshot DECIMAL(18,6) NOT NULL DEFAULT 1.0,
|
||
ADD COLUMN enable_virtual_data_snapshot BOOLEAN NOT NULL DEFAULT FALSE;
|
||
|
||
COMMENT ON COLUMN tb_package_usage.virtual_total_mb_snapshot IS '虚总量快照(业务停机阈值)';
|
||
COMMENT ON COLUMN tb_package_usage.display_gain_ratio_snapshot IS '展示倍率快照(real_total_mb / virtual_total_mb)';
|
||
COMMENT ON COLUMN tb_package_usage.enable_virtual_data_snapshot IS '是否启用虚流量快照';
|
||
|
||
UPDATE tb_package_usage pu
|
||
SET
|
||
virtual_total_mb_snapshot = CASE
|
||
WHEN p.enable_virtual_data = TRUE AND p.virtual_data_mb > 0 THEN p.virtual_data_mb
|
||
ELSE pu.data_limit_mb
|
||
END,
|
||
display_gain_ratio_snapshot = CASE
|
||
WHEN p.enable_virtual_data = TRUE AND p.virtual_data_mb > 0 THEN ROUND((pu.data_limit_mb::NUMERIC / p.virtual_data_mb::NUMERIC), 6)
|
||
ELSE 1.0
|
||
END,
|
||
enable_virtual_data_snapshot = CASE
|
||
WHEN p.enable_virtual_data = TRUE AND p.virtual_data_mb > 0 THEN TRUE
|
||
ELSE FALSE
|
||
END
|
||
FROM tb_package p
|
||
WHERE p.id = pu.package_id;
|