Files
junhong_cmp_fiber/migrations/000137_add_package_usage_traffic_snapshots.up.sql
huang fe4c545308
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
修正数据
2026-04-27 18:10:08 +08:00

28 lines
1.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 为 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;