构建与发布

9 张表的结构与字段说明。

本页由 docs:sync 从数据库结构生成,请勿手工编辑。

site_change_log

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
sequence bigint unsigned 否 — 日志游标 L:站点内单调递增,稳定排序
source_revision bigint unsigned 否 — 数据快照版本 R,多条日志可共享
publish_policy varchar(10) 否 — auto=保存即上线 / explicit=需显式发布
status varchar(10) 否 pending pending / claimed / done / applied(cache/dynamic 即 applied)
batch_id bigint unsigned 是 — —
content_type varchar(30) 否 — article/product/case/channel/theme/...
content_id bigint unsigned 是 — —
action varchar(10) 否 — create / update / delete
fields json 是 — 变更字段名集合(建模变更用;full 可空)
scope varchar(12) 否 — incremental / full
before json 是 — P2 删除/改slug/改分类需要,现在预留
after json 是 — —
created_at timestamp 是 — —
operation_intent_id bigint unsigned 是 — 产生本日志的危险操作意图(唯一关联,恢复命令幂等判定依据)

site_publish_batches

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
idempotency_key varchar(64) 否 — 幂等键,唯一,仅此一处
log_watermark bigint unsigned 否 — 本批领取的日志游标 L
source_revision bigint unsigned 否 — 本批绑定的数据版本 R
trigger_policy varchar(10) 否 — auto / explicit
status varchar(12) 否 claimed claimed / building / switched / committed / failed
lease_expires_at timestamp 是 — 租约到期即视为死任务可恢复
created_at timestamp 是 — —
updated_at timestamp 是 — —

site_publish_requests

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
request_key varchar(64) 否 — 请求幂等键:同一次确认的队列重试只产一个版本
target_revision bigint unsigned 否 — 确认时锁站点行读定的 source_revision(发布授权范围)
publish_policy varchar(16) 否 explicit 触发轨(force 请求恒 explicit)
status varchar(16) 否 pending pending=已派发未完成 / completed=发布落库成功 / aborted=中止(水位变化需重新确认等)
dispatched_at timestamp 是 — 发布任务最近一次领取时间(兼租约):NULL 且已过宽限=派发丢失,恢复命令补派
attempts smallint unsigned 否 0 恢复命令补派次数(超上限置 aborted 留人工,防中毒请求循环)
site_version_id bigint unsigned 是 — —
operation_intent_id bigint unsigned 是 — —
requested_by bigint unsigned 是 — —
created_at timestamp 是 — —
updated_at timestamp 是 — —

site_url_manifests

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
release_version int unsigned 否 — —
entries json 否 — [{loc, host, locale, path, lastmod}]
created_at timestamp 是 — —
updated_at timestamp 是 — —

site_url_redirects

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
from_key char(64) 否 — sha256(lower(from_host??"")|from_path),唯一键(避 MySQL 索引长度上限)
from_host varchar(255) 是 — null=本站任意主机;跨主机重定向时指定
from_path varchar(512) 否 — —
to_host varchar(255) 是 — —
to_path varchar(512) 否 — —
locale varchar(10) 是 — —
change_type varchar(20) 否 — slug / column / url_style / lang_mode / manual
created_release_version int unsigned 是 — —
created_at timestamp 是 — —
updated_at timestamp 是 — —

search_engine_pushes

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
release_version int unsigned 否 — —
channel varchar(20) 否 — baidu / indexnow
host varchar(255) 否 — —
url varchar(1024) 否 — —
change_type varchar(20) 否 — created / updated / redirect / deleted
status varchar(20) 否 pending pending / submitted / failed / skipped
attempts tinyint unsigned 否 0 —
last_error varchar(300) 是 — —
submitted_at timestamp 是 — —
dedup_hash char(64) 否 — sha256(channel|change_type|url),唯一约束用(避 MySQL 索引长度)
created_at timestamp 是 — —
updated_at timestamp 是 — —

site_seo_integrations

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — —
site_id bigint unsigned 否 — —
provider varchar(30) 否 — baidu_push / indexnow / seo_data_api / verify_baidu / verify_google / verify_bing
enabled tinyint(1) 否 0 —
credentials text 是 — —
verify_state varchar(20) 否 untested untested / verified / pending_reverify
last_tested_at timestamp 是 — —
last_success_at timestamp 是 — —
last_error varchar(300) 是 — —
created_at timestamp 是 — —
updated_at timestamp 是 — —

site_visits

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — 租户(红线 1)
site_id bigint unsigned 否 — 所属站点
visitor_id varchar(64) 否 — 访客标识(前端 localStorage 生成;无 JS 环境回退 IP+UA 哈希)
ip varchar(45) 是 — 访客 IP(IPv6 兼容)
ua varchar(255) 是 — User-Agent(截断)
path varchar(255) 否 — 访问路径
referer varchar(255) 是 — 来源页
channel varchar(20) 是 — 渠道:search 搜索引擎 / social 社交 / ads 广告 / referral 外链 / direct 直接访问 / email 邮件
utm_source varchar(60) 是 — —
created_at timestamp 否 — 访问时间
utm_medium varchar(60) 是 — —
utm_campaign varchar(60) 是 — —
bot tinyint(1) 否 0 疑似机器人(爬虫 UA / 机房网段);统计默认排除

site_operation_intents

字段 类型 可空 默认 说明
id bigint unsigned 否 — —
tenant_id bigint unsigned 否 — 租户(红线 #1)
site_id bigint unsigned 否 — 站点
kind varchar(40) 否 — 操作类型:snapshot_restore|history_undo|history_redo|theme_sync|theme_rollback
ref_id bigint unsigned 是 — 目标引用(快照 id 等)
status varchar(20) 否 prepared prepared|applying|applied|failed
error text 是 — 失败原因(含恢复命令的处理说明)
created_at timestamp 是 — —
updated_at timestamp 是 — —
target_fingerprint varchar(64) 是 — 操作目标指纹(主题=归档指纹)
before_fingerprint varchar(64) 是 — 操作前指纹(补偿/审计)
claimed_at timestamp 是 — 恢复进程领取时间(条件领取防并发重复恢复)
payload json 是 — 操作目标的不可变载荷(主题=目标契约),恢复收口依据
owner_token varchar(64) 是 — 执行者归属令牌(跨队列重试稳定):领取/续跑/终态 CAS 均校验,异归属不得接管