Files
data-engine/sql/08_sync_task_tables.sql

121 lines
6.1 KiB
MySQL
Raw Normal View History

2026-04-30 13:45:41 +08:00
-- 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);