chore: v1 整理 — 清理历史文件、DDL 合并、文档归档
- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本) - export/ 数据文件从 git 移除(已在 .gitignore) - demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解 - DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制) - 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/ - 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/ - .gitignore 补充 .vite/ 和 apps/*.zip - settings.json 添加 effortLevel 默认配置 - scripts/ops/ 新增运维脚本入库 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
77
db/etl_feiqiu/schemas/meta.sql
Normal file
77
db/etl_feiqiu/schemas/meta.sql
Normal file
@@ -0,0 +1,77 @@
|
||||
-- =============================================================================
|
||||
-- etl_feiqiu / meta(ETL 调度元数据)
|
||||
-- 生成日期:2026-04-05
|
||||
-- 来源:测试库(通过脚本自动导出)
|
||||
-- =============================================================================
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS meta;
|
||||
|
||||
-- 序列
|
||||
CREATE SEQUENCE IF NOT EXISTS meta.etl_cursor_cursor_id_seq AS bigint;
|
||||
CREATE SEQUENCE IF NOT EXISTS meta.etl_run_run_id_seq AS bigint;
|
||||
CREATE SEQUENCE IF NOT EXISTS meta.etl_task_task_id_seq AS bigint;
|
||||
|
||||
-- 表
|
||||
CREATE TABLE meta.etl_cursor (
|
||||
cursor_id bigint DEFAULT nextval('meta.etl_cursor_cursor_id_seq'::regclass) NOT NULL,
|
||||
task_id bigint NOT NULL,
|
||||
store_id bigint NOT NULL,
|
||||
last_start timestamp with time zone,
|
||||
last_end timestamp with time zone,
|
||||
last_id bigint,
|
||||
last_run_id bigint,
|
||||
extra jsonb DEFAULT '{}'::jsonb,
|
||||
created_at timestamp with time zone DEFAULT now(),
|
||||
updated_at timestamp with time zone DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE TABLE meta.etl_run (
|
||||
run_id bigint DEFAULT nextval('meta.etl_run_run_id_seq'::regclass) NOT NULL,
|
||||
run_uuid text NOT NULL,
|
||||
task_id bigint NOT NULL,
|
||||
store_id bigint NOT NULL,
|
||||
status text NOT NULL,
|
||||
started_at timestamp with time zone DEFAULT now(),
|
||||
ended_at timestamp with time zone,
|
||||
window_start timestamp with time zone,
|
||||
window_end timestamp with time zone,
|
||||
window_minutes integer,
|
||||
overlap_seconds integer,
|
||||
fetched_count integer DEFAULT 0,
|
||||
loaded_count integer DEFAULT 0,
|
||||
updated_count integer DEFAULT 0,
|
||||
skipped_count integer DEFAULT 0,
|
||||
error_count integer DEFAULT 0,
|
||||
unknown_fields integer DEFAULT 0,
|
||||
export_dir text,
|
||||
log_path text,
|
||||
request_params jsonb DEFAULT '{}'::jsonb,
|
||||
manifest jsonb DEFAULT '{}'::jsonb,
|
||||
error_message text,
|
||||
extra jsonb DEFAULT '{}'::jsonb
|
||||
);
|
||||
|
||||
CREATE TABLE meta.etl_task (
|
||||
task_id bigint DEFAULT nextval('meta.etl_task_task_id_seq'::regclass) NOT NULL,
|
||||
task_code text NOT NULL,
|
||||
store_id bigint NOT NULL,
|
||||
enabled boolean DEFAULT true,
|
||||
cursor_field text,
|
||||
window_minutes_default integer DEFAULT 30,
|
||||
overlap_seconds integer DEFAULT 600,
|
||||
page_size integer DEFAULT 200,
|
||||
retry_max integer DEFAULT 3,
|
||||
params jsonb DEFAULT '{}'::jsonb,
|
||||
created_at timestamp with time zone DEFAULT now(),
|
||||
updated_at timestamp with time zone DEFAULT now()
|
||||
);
|
||||
|
||||
-- 约束(主键 / 唯一 / 外键)
|
||||
ALTER TABLE meta.etl_cursor ADD CONSTRAINT etl_cursor_task_id_fkey FOREIGN KEY (task_id) REFERENCES meta.etl_task(task_id) ON DELETE CASCADE;
|
||||
ALTER TABLE meta.etl_cursor ADD CONSTRAINT etl_cursor_pkey PRIMARY KEY (cursor_id);
|
||||
ALTER TABLE meta.etl_cursor ADD CONSTRAINT etl_cursor_task_id_store_id_key UNIQUE (task_id, store_id);
|
||||
ALTER TABLE meta.etl_run ADD CONSTRAINT etl_run_task_id_fkey FOREIGN KEY (task_id) REFERENCES meta.etl_task(task_id) ON DELETE CASCADE;
|
||||
ALTER TABLE meta.etl_run ADD CONSTRAINT etl_run_pkey PRIMARY KEY (run_id);
|
||||
ALTER TABLE meta.etl_task ADD CONSTRAINT etl_task_pkey PRIMARY KEY (task_id);
|
||||
ALTER TABLE meta.etl_task ADD CONSTRAINT etl_task_task_code_store_id_key UNIQUE (task_code, store_id);
|
||||
|
||||
Reference in New Issue
Block a user