121 lines
6.1 KiB
MySQL
121 lines
6.1 KiB
MySQL
|
|
-- Sync Task and Task Report Tables (同步任务日志和任务报告表)
|
||
|
|
|
||
|
|
-- =============================================
|
||
|
|
-- 同步任务日志表 (sync_task_log)
|
||
|
|
-- =============================================
|
||
|
|
CREATE SEQUENCE IF NOT EXISTS sync_task_log_id_seq;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS sync_task_log (
|
||
|
|
id BIGINT NOT NULL DEFAULT nextval('sync_task_log_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,
|
||
|
|
task_id BIGINT NOT NULL DEFAULT 0,
|
||
|
|
report_type VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
report_date VARCHAR(10) NOT NULL DEFAULT '',
|
||
|
|
cid VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
campaign_id VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
adgroup_id VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
ad_id VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
datasource VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
sync_status VARCHAR(32) NOT NULL DEFAULT '',
|
||
|
|
error_message TEXT NOT NULL DEFAULT '',
|
||
|
|
start_time TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
||
|
|
end_time TIMESTAMP WITH TIME ZONE DEFAULT '0001-01-01 00:00:00+00:00',
|
||
|
|
PRIMARY KEY (id)
|
||
|
|
);
|
||
|
|
|
||
|
|
COMMENT ON TABLE sync_task_log IS '同步任务日志表';
|
||
|
|
COMMENT ON COLUMN sync_task_log.id IS '主键ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.tenant_id IS '租户ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.creator IS '创建人';
|
||
|
|
COMMENT ON COLUMN sync_task_log.created_at IS '创建时间';
|
||
|
|
COMMENT ON COLUMN sync_task_log.updater IS '更新人';
|
||
|
|
COMMENT ON COLUMN sync_task_log.updated_at IS '更新时间';
|
||
|
|
COMMENT ON COLUMN sync_task_log.deleted_at IS '软删除时间';
|
||
|
|
COMMENT ON COLUMN sync_task_log.task_id IS '调控任务ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.report_type IS '报告类型';
|
||
|
|
COMMENT ON COLUMN sync_task_log.report_date IS '报告日期';
|
||
|
|
COMMENT ON COLUMN sync_task_log.cid IS '广告账户ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.campaign_id IS '广告系列ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.adgroup_id IS '广告组ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.ad_id IS '创意ID';
|
||
|
|
COMMENT ON COLUMN sync_task_log.datasource IS '数据源';
|
||
|
|
COMMENT ON COLUMN sync_task_log.sync_status IS '同步状态';
|
||
|
|
COMMENT ON COLUMN sync_task_log.error_message IS '错误信息';
|
||
|
|
COMMENT ON COLUMN sync_task_log.start_time IS '开始时间';
|
||
|
|
COMMENT ON COLUMN sync_task_log.end_time IS '结束时间';
|
||
|
|
|
||
|
|
CREATE INDEX idx_sync_task_log_task_id ON sync_task_log(tenant_id, task_id);
|
||
|
|
CREATE INDEX idx_sync_task_log_report_type ON sync_task_log(tenant_id, report_type);
|
||
|
|
CREATE INDEX idx_sync_task_log_report_date ON sync_task_log(tenant_id, report_date);
|
||
|
|
CREATE INDEX idx_sync_task_log_cid ON sync_task_log(tenant_id, cid);
|
||
|
|
CREATE INDEX idx_sync_task_log_datasource ON sync_task_log(tenant_id, datasource);
|
||
|
|
CREATE INDEX idx_sync_task_log_sync_status ON sync_task_log(tenant_id, sync_status);
|
||
|
|
CREATE INDEX idx_sync_task_log_created_at ON sync_task_log(tenant_id, created_at);
|
||
|
|
|
||
|
|
-- =============================================
|
||
|
|
-- 调控任务报告表 (task_report)
|
||
|
|
-- =============================================
|
||
|
|
CREATE SEQUENCE IF NOT EXISTS task_report_id_seq;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS task_report (
|
||
|
|
id BIGINT NOT NULL DEFAULT nextval('task_report_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,
|
||
|
|
task_id BIGINT NOT NULL DEFAULT 0,
|
||
|
|
datasource VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
report_date VARCHAR(10) NOT NULL DEFAULT '',
|
||
|
|
total_count BIGINT NOT NULL DEFAULT 0,
|
||
|
|
success_count BIGINT NOT NULL DEFAULT 0,
|
||
|
|
fail_count BIGINT NOT NULL DEFAULT 0,
|
||
|
|
skip_count BIGINT NOT NULL DEFAULT 0,
|
||
|
|
total_cost DECIMAL(20,6) NOT NULL DEFAULT 0,
|
||
|
|
total_impression DECIMAL(20,6) NOT NULL DEFAULT 0,
|
||
|
|
total_click DECIMAL(20,6) NOT NULL DEFAULT 0,
|
||
|
|
total_conversion DECIMAL(20,6) NOT NULL DEFAULT 0,
|
||
|
|
avg_ctr DECIMAL(20,8) NOT NULL DEFAULT 0,
|
||
|
|
avg_cpc DECIMAL(20,8) NOT NULL DEFAULT 0,
|
||
|
|
avg_cpm DECIMAL(20,8) NOT NULL DEFAULT 0,
|
||
|
|
avg_conversion_rate DECIMAL(20,8) NOT NULL DEFAULT 0,
|
||
|
|
avg_cpp DECIMAL(20,8) NOT NULL DEFAULT 0,
|
||
|
|
PRIMARY KEY (id)
|
||
|
|
);
|
||
|
|
|
||
|
|
COMMENT ON TABLE task_report IS '调控任务报告表';
|
||
|
|
COMMENT ON COLUMN task_report.id IS '主键ID';
|
||
|
|
COMMENT ON COLUMN task_report.tenant_id IS '租户ID';
|
||
|
|
COMMENT ON COLUMN task_report.creator IS '创建人';
|
||
|
|
COMMENT ON COLUMN task_report.created_at IS '创建时间';
|
||
|
|
COMMENT ON COLUMN task_report.updater IS '更新人';
|
||
|
|
COMMENT ON COLUMN task_report.updated_at IS '更新时间';
|
||
|
|
COMMENT ON COLUMN task_report.deleted_at IS '软删除时间';
|
||
|
|
COMMENT ON COLUMN task_report.task_id IS '调控任务ID';
|
||
|
|
COMMENT ON COLUMN task_report.datasource IS '数据源';
|
||
|
|
COMMENT ON COLUMN task_report.report_date IS '报告日期';
|
||
|
|
COMMENT ON COLUMN task_report.total_count IS '总数量';
|
||
|
|
COMMENT ON COLUMN task_report.success_count IS '成功数量';
|
||
|
|
COMMENT ON COLUMN task_report.fail_count IS '失败数量';
|
||
|
|
COMMENT ON COLUMN task_report.skip_count IS '跳过数量';
|
||
|
|
COMMENT ON COLUMN task_report.total_cost IS '总花费(元)';
|
||
|
|
COMMENT ON COLUMN task_report.total_impression IS '总展示数';
|
||
|
|
COMMENT ON COLUMN task_report.total_click IS '总点击数';
|
||
|
|
COMMENT ON COLUMN task_report.total_conversion IS '总转化数';
|
||
|
|
COMMENT ON COLUMN task_report.avg_ctr IS '平均点击率';
|
||
|
|
COMMENT ON COLUMN task_report.avg_cpc IS '平均点击价格';
|
||
|
|
COMMENT ON COLUMN task_report.avg_cpm IS '平均千次展现成本';
|
||
|
|
COMMENT ON COLUMN task_report.avg_conversion_rate IS '平均转化率';
|
||
|
|
COMMENT ON COLUMN task_report.avg_cpp IS '平均单次转化成本';
|
||
|
|
|
||
|
|
CREATE INDEX idx_task_report_task_id ON task_report(tenant_id, task_id);
|
||
|
|
CREATE INDEX idx_task_report_datasource ON task_report(tenant_id, datasource);
|
||
|
|
CREATE INDEX idx_task_report_report_date ON task_report(tenant_id, report_date);
|
||
|
|
CREATE UNIQUE INDEX idx_task_report_unique ON task_report(tenant_id, task_id, datasource, report_date);
|