Files

table-alias - 表结构同步技能

状态

单表模式已就绪 - 支持同步单张表,避免全量同步的耗时和风险

⚠️ 准生产连接 - 需要在可访问 100.115.195.188:50036 的网络环境中执行

快速开始

单表同步(推荐)

# 设置环境变量
export MYSQL_PWD_WIT=o2byaCkBvF1Y8S2L
export MYSQL_PWD_SQL=5gynj20J

# 同步单张表
cd ~/.openclaw/skills/table-alias
./scripts/sync_table.sh dmp_serp dmp_im_account_age

全库同步

./scripts/sync_table.sh dmp_serp

表数量 > 50 时会提示确认

输出

  • 脚本文件: /home/yangxuan/codes/xuan-sql/scripts/{日期}/{库}__{表}__struct.sql
  • 执行日志: 终端输出

同步逻辑

场景 操作
目标表不存在 CREATE TABLE IF NOT EXISTS
目标表存在且结构一致 跳过
目标表存在但结构不同 生成 ALTER 脚本草稿(需人工完善)

连接配置

环境 主机 端口 用户 说明
源(准生产) 100.115.195.188 50036 witsoftd 只读
目标(VPS 101.34.227.188 3306 root 可写

故障排查

准生产连接失败

ERROR 1045 (28000): Access denied for user 'witsoftd'@'...'

原因:

  • 密码错误
  • IP 白名单限制(只能在 100.115.195.x 网段访问)

解决:

  • 在正确的网络环境执行(如 VPS、内网机器)
  • 检查 .env 文件中的 MYSQL_PWD_WIT

表不存在

源表 dmp_serp.xxx 不存在

解决: 确认表名正确,使用 SHOW TABLES 查看实际表名

文件结构

skills/table-alias/
├── SKILL.md                  # 技能定义
├── README.md                 # 本文档
├── scripts/
│   └── sync_table.sh         # 执行脚本
└── examples/
    └── single-table.md       # 单表示例

版本

  • v1.1.0 (2026-08-14) - 支持单表模式
  • v1.0.0 (2026-08-14) - 初始版本