208 lines
12 KiB
SQL
208 lines
12 KiB
SQL
-- Unit Report Tables (单元报告表)
|
|
|
|
-- =============================================
|
|
-- 单元报告明细表 (unit_report_detail)
|
|
-- =============================================
|
|
CREATE SEQUENCE IF NOT EXISTS unit_report_detail_id_seq;
|
|
|
|
CREATE TABLE IF NOT EXISTS unit_report_detail (
|
|
id BIGINT NOT NULL DEFAULT nextval('unit_report_detail_id_seq'::regclass),
|
|
tenant_id BIGINT NOT NULL DEFAULT 0,
|
|
creator VARCHAR(64) DEFAULT '',
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
|
updater VARCHAR(64) DEFAULT '',
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
|
deleted_at TIMESTAMP WITH TIME ZONE,
|
|
cid VARCHAR(64) NOT NULL DEFAULT '',
|
|
campaign_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
adgroup_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
adgroup_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
marketing_target_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
marketing_target_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
placement_type VARCHAR(32) NOT NULL DEFAULT '',
|
|
inventory_type VARCHAR(32) NOT NULL DEFAULT '',
|
|
campaign_budget DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
adgroup_budget DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
bid_mode VARCHAR(32) NOT NULL DEFAULT '',
|
|
bid_amount DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
impression DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
click DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
cost DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
ctr DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpc DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpm DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
conversion DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
conversion_rate DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpp DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
primary_url VARCHAR(1024) NOT NULL DEFAULT '',
|
|
video_play_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
video_play_uv DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
avg_video_play_duration DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
video_interaction_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
tweet_engage_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
tweet_share_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
tweet_comment_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
tweet_like_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
tweet_repost_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
game_download_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
app_download_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
app_install_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
onsite_leads_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
deep_convert_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
deep_convert_rate DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
deep_convert_cost DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
day VARCHAR(10) NOT NULL DEFAULT '',
|
|
datasource VARCHAR(64) NOT NULL DEFAULT '',
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
COMMENT ON TABLE unit_report_detail IS '单元报告明细表';
|
|
COMMENT ON COLUMN unit_report_detail.id IS '主键ID';
|
|
COMMENT ON COLUMN unit_report_detail.tenant_id IS '租户ID';
|
|
COMMENT ON COLUMN unit_report_detail.creator IS '创建人';
|
|
COMMENT ON COLUMN unit_report_detail.created_at IS '创建时间';
|
|
COMMENT ON COLUMN unit_report_detail.updater IS '更新人';
|
|
COMMENT ON COLUMN unit_report_detail.updated_at IS '更新时间';
|
|
COMMENT ON COLUMN unit_report_detail.deleted_at IS '软删除时间';
|
|
COMMENT ON COLUMN unit_report_detail.cid IS '广告账户ID';
|
|
COMMENT ON COLUMN unit_report_detail.campaign_id IS '广告系列ID';
|
|
COMMENT ON COLUMN unit_report_detail.adgroup_id IS '广告组ID';
|
|
COMMENT ON COLUMN unit_report_detail.adgroup_name IS '广告组名称';
|
|
COMMENT ON COLUMN unit_report_detail.marketing_target_id IS '营销标的ID';
|
|
COMMENT ON COLUMN unit_report_detail.marketing_target_name IS '营销标的名称';
|
|
COMMENT ON COLUMN unit_report_detail.placement_type IS '投放版位';
|
|
COMMENT ON COLUMN unit_report_detail.inventory_type IS '投放位置';
|
|
COMMENT ON COLUMN unit_report_detail.campaign_budget IS '广告系列预算';
|
|
COMMENT ON COLUMN unit_report_detail.adgroup_budget IS '广告组预算';
|
|
COMMENT ON COLUMN unit_report_detail.bid_mode IS '出价方式';
|
|
COMMENT ON COLUMN unit_report_detail.bid_amount IS '出价/代理出价';
|
|
COMMENT ON COLUMN unit_report_detail.impression IS '展示数';
|
|
COMMENT ON COLUMN unit_report_detail.click IS '点击数';
|
|
COMMENT ON COLUMN unit_report_detail.cost IS '花费(元)';
|
|
COMMENT ON COLUMN unit_report_detail.ctr IS '点击率';
|
|
COMMENT ON COLUMN unit_report_detail.cpc IS '平均点击价格';
|
|
COMMENT ON COLUMN unit_report_detail.cpm IS '千次展现成本';
|
|
COMMENT ON COLUMN unit_report_detail.conversion IS '转化数';
|
|
COMMENT ON COLUMN unit_report_detail.conversion_rate IS '转化率';
|
|
COMMENT ON COLUMN unit_report_detail.cpp IS '单次转化成本';
|
|
COMMENT ON COLUMN unit_report_detail.primary_url IS '落地页URL';
|
|
COMMENT ON COLUMN unit_report_detail.video_play_count IS '视频播放次数';
|
|
COMMENT ON COLUMN unit_report_detail.video_play_uv IS '视频播放人数';
|
|
COMMENT ON COLUMN unit_report_detail.avg_video_play_duration IS '平均播放时长(秒)';
|
|
COMMENT ON COLUMN unit_report_detail.video_interaction_count IS '视频互动数';
|
|
COMMENT ON COLUMN unit_report_detail.tweet_engage_count IS '推文参与数';
|
|
COMMENT ON COLUMN unit_report_detail.tweet_share_count IS '推文分享数';
|
|
COMMENT ON COLUMN unit_report_detail.tweet_comment_count IS '推文评论数';
|
|
COMMENT ON COLUMN unit_report_detail.tweet_like_count IS '推文点赞数';
|
|
COMMENT ON COLUMN unit_report_detail.tweet_repost_count IS '推文转发数';
|
|
COMMENT ON COLUMN unit_report_detail.game_download_count IS '游戏下载数';
|
|
COMMENT ON COLUMN unit_report_detail.app_download_count IS '应用下载数';
|
|
COMMENT ON COLUMN unit_report_detail.app_install_count IS '应用安装数';
|
|
COMMENT ON COLUMN unit_report_detail.onsite_leads_count IS '预注册数';
|
|
COMMENT ON COLUMN unit_report_detail.deep_convert_count IS '深度转化数';
|
|
COMMENT ON COLUMN unit_report_detail.deep_convert_rate IS '深度转化率';
|
|
COMMENT ON COLUMN unit_report_detail.deep_convert_cost IS '深度转化成本';
|
|
COMMENT ON COLUMN unit_report_detail.day IS '数据日期';
|
|
COMMENT ON COLUMN unit_report_detail.datasource IS '数据源';
|
|
|
|
CREATE INDEX idx_unit_report_detail_cid ON unit_report_detail(tenant_id, cid);
|
|
CREATE INDEX idx_unit_report_detail_campaign_id ON unit_report_detail(tenant_id, campaign_id);
|
|
CREATE INDEX idx_unit_report_detail_adgroup_id ON unit_report_detail(tenant_id, adgroup_id);
|
|
CREATE INDEX idx_unit_report_detail_day ON unit_report_detail(tenant_id, day);
|
|
CREATE INDEX idx_unit_report_detail_datasource ON unit_report_detail(tenant_id, datasource);
|
|
|
|
-- =============================================
|
|
-- 单元报告汇总表 (unit_report_sum)
|
|
-- =============================================
|
|
CREATE SEQUENCE IF NOT EXISTS unit_report_sum_id_seq;
|
|
|
|
CREATE TABLE IF NOT EXISTS unit_report_sum (
|
|
id BIGINT NOT NULL DEFAULT nextval('unit_report_sum_id_seq'::regclass),
|
|
tenant_id BIGINT NOT NULL DEFAULT 0,
|
|
creator VARCHAR(64) DEFAULT '',
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
|
updater VARCHAR(64) DEFAULT '',
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
|
deleted_at TIMESTAMP WITH TIME ZONE,
|
|
cid VARCHAR(64) NOT NULL DEFAULT '',
|
|
campaign_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
adgroup_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
adgroup_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
marketing_target_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
marketing_target_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
placement_type VARCHAR(32) NOT NULL DEFAULT '',
|
|
inventory_type VARCHAR(32) NOT NULL DEFAULT '',
|
|
impression DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
click DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
cost DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
ctr DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpc DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpm DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
conversion DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
conversion_rate DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
cpp DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
video_play_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
video_play_uv DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
avg_video_play_duration DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
video_interaction_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
game_download_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
app_download_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
app_install_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
onsite_leads_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
deep_convert_count DECIMAL(20,6) NOT NULL DEFAULT 0,
|
|
deep_convert_rate DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
deep_convert_cost DECIMAL(20,8) NOT NULL DEFAULT 0,
|
|
hour VARCHAR(2) NOT NULL DEFAULT '',
|
|
day VARCHAR(10) NOT NULL DEFAULT '',
|
|
datasource VARCHAR(64) NOT NULL DEFAULT '',
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
COMMENT ON TABLE unit_report_sum IS '单元报告汇总表';
|
|
COMMENT ON COLUMN unit_report_sum.id IS '主键ID';
|
|
COMMENT ON COLUMN unit_report_sum.tenant_id IS '租户ID';
|
|
COMMENT ON COLUMN unit_report_sum.creator IS '创建人';
|
|
COMMENT ON COLUMN unit_report_sum.created_at IS '创建时间';
|
|
COMMENT ON COLUMN unit_report_sum.updater IS '更新人';
|
|
COMMENT ON COLUMN unit_report_sum.updated_at IS '更新时间';
|
|
COMMENT ON COLUMN unit_report_sum.deleted_at IS '软删除时间';
|
|
COMMENT ON COLUMN unit_report_sum.cid IS '广告账户ID';
|
|
COMMENT ON COLUMN unit_report_sum.campaign_id IS '广告系列ID';
|
|
COMMENT ON COLUMN unit_report_sum.adgroup_id IS '广告组ID';
|
|
COMMENT ON COLUMN unit_report_sum.adgroup_name IS '广告组名称';
|
|
COMMENT ON COLUMN unit_report_sum.marketing_target_id IS '营销标的ID';
|
|
COMMENT ON COLUMN unit_report_sum.marketing_target_name IS '营销标的名称';
|
|
COMMENT ON COLUMN unit_report_sum.placement_type IS '投放版位';
|
|
COMMENT ON COLUMN unit_report_sum.inventory_type IS '投放位置';
|
|
COMMENT ON COLUMN unit_report_sum.impression IS '展示数';
|
|
COMMENT ON COLUMN unit_report_sum.click IS '点击数';
|
|
COMMENT ON COLUMN unit_report_sum.cost IS '花费(元)';
|
|
COMMENT ON COLUMN unit_report_sum.ctr IS '点击率';
|
|
COMMENT ON COLUMN unit_report_sum.cpc IS '平均点击价格';
|
|
COMMENT ON COLUMN unit_report_sum.cpm IS '千次展现成本';
|
|
COMMENT ON COLUMN unit_report_sum.conversion IS '转化数';
|
|
COMMENT ON COLUMN unit_report_sum.conversion_rate IS '转化率';
|
|
COMMENT ON COLUMN unit_report_sum.cpp IS '单次转化成本';
|
|
COMMENT ON COLUMN unit_report_sum.video_play_count IS '视频播放次数';
|
|
COMMENT ON COLUMN unit_report_sum.video_play_uv IS '视频播放人数';
|
|
COMMENT ON COLUMN unit_report_sum.avg_video_play_duration IS '平均播放时长(秒)';
|
|
COMMENT ON COLUMN unit_report_sum.video_interaction_count IS '视频互动数';
|
|
COMMENT ON COLUMN unit_report_sum.game_download_count IS '游戏下载数';
|
|
COMMENT ON COLUMN unit_report_sum.app_download_count IS '应用下载数';
|
|
COMMENT ON COLUMN unit_report_sum.app_install_count IS '应用安装数';
|
|
COMMENT ON COLUMN unit_report_sum.onsite_leads_count IS '预注册数';
|
|
COMMENT ON COLUMN unit_report_sum.deep_convert_count IS '深度转化数';
|
|
COMMENT ON COLUMN unit_report_sum.deep_convert_rate IS '深度转化率';
|
|
COMMENT ON COLUMN unit_report_sum.deep_convert_cost IS '深度转化成本';
|
|
COMMENT ON COLUMN unit_report_sum.hour IS '数据小时';
|
|
COMMENT ON COLUMN unit_report_sum.day IS '数据日期';
|
|
COMMENT ON COLUMN unit_report_sum.datasource IS '数据源';
|
|
|
|
CREATE INDEX idx_unit_report_sum_cid ON unit_report_sum(tenant_id, cid);
|
|
CREATE INDEX idx_unit_report_sum_campaign_id ON unit_report_sum(tenant_id, campaign_id);
|
|
CREATE INDEX idx_unit_report_sum_adgroup_id ON unit_report_sum(tenant_id, adgroup_id);
|
|
CREATE INDEX idx_unit_report_sum_day ON unit_report_sum(tenant_id, day);
|
|
CREATE INDEX idx_unit_report_sum_hour ON unit_report_sum(tenant_id, hour);
|
|
CREATE INDEX idx_unit_report_sum_datasource ON unit_report_sum(tenant_id, datasource);
|
|
CREATE UNIQUE INDEX idx_unit_report_sum_unique ON unit_report_sum(tenant_id, adgroup_id, hour, day, datasource);
|