auto: sync OpenClaw config 2026-08-14 17:17
This commit is contained in:
@@ -0,0 +1,464 @@
|
||||
# 2026-08-14 工作记录
|
||||
|
||||
## 准生产数据库连接配置
|
||||
|
||||
**时间:** 2026-08-14 11:21-11:35
|
||||
|
||||
### 数据库信息
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 转发地址 | `100.115.195.188:50036` |
|
||||
| 实际数据库 | `47.99.209.185:50036` |
|
||||
| MySQL 版本 | 8.0.36 |
|
||||
| 用户 | `witsoftd` |
|
||||
| 密码 | `o2byaCkBvF1Y8S2L` |
|
||||
| 权限 | 只读(准生产环境) |
|
||||
|
||||
### 连接测试结果
|
||||
|
||||
- ✅ Ping 可达(14-21ms)
|
||||
- ✅ TCP 端口 50036 开放
|
||||
- ✅ MySQL 连接成功,返回 `SELECT 1` 和版本号
|
||||
|
||||
### 配置文件更新
|
||||
|
||||
**Linux 工作区 `.env` 文件:**
|
||||
```bash
|
||||
# /home/yangxuan/.openclaw/workspace-sql/.env
|
||||
MYSQL_PWD_SQL=5gynj20J
|
||||
MYSQL_PWD_WIT=o2byaCkBvF1Y8S2L
|
||||
```
|
||||
|
||||
**TOOLS.md 更新:** 添加准生产数据库连接记录
|
||||
|
||||
---
|
||||
|
||||
## Windows 端口转发持久化配置
|
||||
|
||||
**问题:** `netsh interface portproxy` 规则在 Windows 重启后会丢失
|
||||
|
||||
**解决方案:** 使用任务计划程序开机自动执行
|
||||
|
||||
### 配置步骤(在 Windows 100.115.195.188 上执行)
|
||||
|
||||
#### 1. 创建脚本目录和文件
|
||||
|
||||
```powershell
|
||||
# 创建目录
|
||||
New-Item -ItemType Directory -Force -Path C:\Scripts
|
||||
|
||||
# 创建批处理文件 C:\Scripts\portproxy_setup.bat
|
||||
@'
|
||||
@echo off
|
||||
REM 确保 IP Helper 服务运行
|
||||
sc start iphlpsvc
|
||||
|
||||
REM 清理旧规则
|
||||
netsh interface portproxy delete v4tov4 listenaddress=100.115.195.188 listenport=50036
|
||||
netsh interface portproxy delete v4tov4 listenaddress=100.115.195.188 listenport=38848
|
||||
|
||||
REM 添加转发规则
|
||||
netsh interface portproxy add v4tov4 listenaddress=100.115.195.188 listenport=50036 connectaddress=47.99.209.185 connectport=50036
|
||||
netsh interface portproxy add v4tov4 listenaddress=100.115.195.188 listenport=38848 connectaddress=120.26.89.170 connectport=38848
|
||||
|
||||
echo 端口转发配置完成
|
||||
'@ | Out-File -FilePath C:\Scripts\portproxy_setup.bat -Encoding ASCII
|
||||
|
||||
# 创建 PowerShell 启动脚本 C:\Scripts\portproxy_startup.ps1
|
||||
@'
|
||||
# 等待网络就绪
|
||||
Start-Sleep -Seconds 10
|
||||
|
||||
# 执行配置
|
||||
& C:\Scripts\portproxy_setup.bat
|
||||
'@ | Out-File -FilePath C:\Scripts\portproxy_startup.ps1 -Encoding UTF8
|
||||
```
|
||||
|
||||
#### 2. 注册任务计划程序(管理员权限)
|
||||
|
||||
```powershell
|
||||
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\portproxy_startup.ps1"
|
||||
$trigger = New-ScheduledTaskTrigger -AtStartup
|
||||
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
|
||||
Register-ScheduledTask -TaskName "PortProxy Setup" -Action $action -Trigger $trigger -Principal $principal -Description "自动配置端口转发规则"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 重启后验证步骤
|
||||
|
||||
**下次 Windows 重启后,执行以下命令验证:**
|
||||
|
||||
```powershell
|
||||
# 1. 检查任务计划程序状态
|
||||
Get-ScheduledTask -TaskName "PortProxy Setup" | Select-Object TaskName, State, LastRunTime, LastTaskResult
|
||||
|
||||
# 2. 检查端口转发规则
|
||||
netsh interface portproxy show all
|
||||
|
||||
# 3. 检查端口监听状态
|
||||
netstat -ano | findstr "50036"
|
||||
|
||||
# 4. 测试 MySQL 连接
|
||||
mysql -h 100.115.195.188 -P 50036 -u witsoftd -p"o2byaCkBvF1Y8S2L" -e "SELECT 1 AS test, VERSION() AS version;"
|
||||
```
|
||||
|
||||
**期望输出:**
|
||||
- 任务状态:`State = Ready`,`LastTaskResult = 0`
|
||||
- 端口转发:`100.115.195.188:50036 → 47.99.209.185:50036`
|
||||
- 监听状态:`TCP 100.115.195.188:50036 LISTENING`
|
||||
- MySQL 测试:返回 `test=1, version=8.0.36`
|
||||
|
||||
---
|
||||
|
||||
## 相关配置
|
||||
|
||||
### 环境变量设置(Windows 用户级别,永久生效)
|
||||
|
||||
```powershell
|
||||
# PowerShell 执行(不需要管理员)
|
||||
[System.Environment]::SetEnvironmentVariable('MYSQL_PWD_WIT', 'o2byaCkBvF1Y8S2L', 'User')
|
||||
|
||||
# 验证
|
||||
echo $env:MYSQL_PWD_WIT
|
||||
```
|
||||
|
||||
### 备用验证脚本 C:\Scripts\verify_portproxy.ps1
|
||||
|
||||
```powershell
|
||||
Write-Host "=== 任务计划程序状态 ===" -ForegroundColor Cyan
|
||||
Get-ScheduledTask -TaskName "PortProxy Setup" | Select-Object TaskName, State, LastRunTime, LastTaskResult
|
||||
|
||||
Write-Host "`n=== 端口转发规则 ===" -ForegroundColor Cyan
|
||||
netsh interface portproxy show all
|
||||
|
||||
Write-Host "`n=== 端口监听状态 ===" -ForegroundColor Cyan
|
||||
netstat -ano | findstr "50036"
|
||||
|
||||
Write-Host "`n=== MySQL 连接测试 ===" -ForegroundColor Cyan
|
||||
mysql -h 100.115.195.188 -P 50036 -u witsoftd -p"o2byaCkBvF1Y8S2L" -e "SELECT 1 AS test, VERSION() AS version;"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## VPS 表结构同步 - 准生产 → VPS
|
||||
|
||||
**时间:** 2026-08-14 13:39-14:00
|
||||
|
||||
**源:** 准生产 `100.115.195.188:50036` (只读)
|
||||
**目标:** VPS `101.34.227.188:3306` `dmp_serp`
|
||||
|
||||
### 同步的表(共 5 张)
|
||||
|
||||
1. `dmp_om_productinfo` - 主表(ALTER TABLE)
|
||||
2. `dmp_om_productinfo_cost` - 成本表(CREATE TABLE)
|
||||
3. `dmp_om_productinfo_other_costs` - 其他成本表(CREATE TABLE)
|
||||
4. `dmp_om_productinfo_work_costs` - 工序成本表(CREATE TABLE)
|
||||
5. `dmp_om_productinfo_test` - 测试表(CREATE TABLE)
|
||||
|
||||
### 主表变更详情
|
||||
|
||||
| 字段 | 操作 | 说明 |
|
||||
|------|------|------|
|
||||
| `om_discountrate` | NULL → NOT NULL | 先更新 3 条 NULL 值为 1.0 |
|
||||
| `om_stockout` | NULL → NOT NULL | 先更新 NULL 值为 0 |
|
||||
| `invoice_status` | 已存在 | 跳过添加 |
|
||||
| `cust_product_spec` | 已存在 | 跳过添加 |
|
||||
| `creator_user_id` | 删除 | 准生产无此字段 |
|
||||
|
||||
### 脚本位置
|
||||
|
||||
```
|
||||
/home/yangxuan/codes/xuan-sql/scripts/20260814/
|
||||
├── README.md
|
||||
├── dmp_serp__dmp_om_productinfo__struct.sql
|
||||
├── dmp_serp__dmp_om_productinfo_cost__struct.sql
|
||||
├── dmp_serp__dmp_om_productinfo_other_costs__struct.sql
|
||||
├── dmp_serp__dmp_om_productinfo_work_costs__struct.sql
|
||||
└── dmp_serp__dmp_om_productinfo_test__struct.sql
|
||||
```
|
||||
|
||||
### 执行状态
|
||||
|
||||
✅ 全部执行完成
|
||||
|
||||
### 验证结果
|
||||
|
||||
```sql
|
||||
-- 5 张表全部创建成功
|
||||
SHOW TABLES LIKE 'dmp_om_productinfo%';
|
||||
|
||||
-- 主表关键字段验证
|
||||
SELECT COLUMN_NAME, IS_NULLABLE, COLUMN_DEFAULT
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = 'dmp_serp'
|
||||
AND TABLE_NAME = 'dmp_om_productinfo'
|
||||
AND COLUMN_NAME IN ('om_discountrate', 'om_stockout', 'invoice_status', 'cust_product_spec');
|
||||
-- om_discountrate: NO (NOT NULL)
|
||||
-- om_stockout: NO (NOT NULL)
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
|
||||
- 不影响其他库(特别是 `ruoyi-vue-pro`)
|
||||
- 字符集统一为 `utf8mb4 / utf8mb4_general_ci`
|
||||
- 测试数据已保留(7 条)
|
||||
|
||||
## 表结构同步 - 14:33
|
||||
|
||||
**源:** 准生产 `dmp_smdm`
|
||||
**目标:** VPS `dmp_smdm`
|
||||
**处理表数:** 127
|
||||
**成功:** 93
|
||||
**失败:** 34
|
||||
|
||||
### 处理的表
|
||||
|
||||
| 表名 | 操作 | 状态 | 说明 |
|
||||
|------|------|------|------|
|
||||
| debezium_heartbeat | CREATE | ✅ | 新建表 |
|
||||
| dmp_i18n_messages | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_account_period | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_account_unit | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_arguments | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_arguments_device | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_base_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_batch_import_menu | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_batch_import_result | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_billrule | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_billrule_template | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_bom_closure | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_bom_master | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_company | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_currency | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_custom_print_label_template | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_custom_print_template | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_bom | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_classfied | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_contact | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_info | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_customer_login_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_pinyin | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_customer_product_price | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_customer_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_department | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_device | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_device_info | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_dictionary_data | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_dictionary_type | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_dynamic_field_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_factory | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_invoicing_info | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_category | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_item_group_relation | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_info | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_item_info_log | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_info_replace | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_info_rule | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_info_unit | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_model | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_mold | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_pinyin | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_property | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_item_route | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_item_route_cxcl | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_item_route_op | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_location | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_mc_order_bom_header | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_mc_order_bom_line | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_modules_scenes | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_mold_info | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_operate_log | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_operation_log | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_operation_procedure | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_operation_qualities | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_order_bom_header | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_order_bom_line | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_paper_default | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_person | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_print_node | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_print_template | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_process_equip | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_process_warehouse | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_product_management_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_production_line | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_productionline_director | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_productive_rewources | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_property_group | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_property_item | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_property_project | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_property_project_detail | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_property_relation | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_province | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_quality_type | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_route | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_route_item_material | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_route_op | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_route_op_cycle | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_route_op_document | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_route_op_mat | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_route_op_param | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_route_op_template | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_rule_element | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_send_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_send_recipient | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_serial | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_serial_format | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_shift_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_sr_op | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_sr_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_standard_capacity | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_station | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_std_bom_header | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_std_bom_header_log | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_std_bom_line | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_std_bom_line_log | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_std_bom_line_logs | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_storage_category | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_storage_pinyin | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_storage_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_sub_storage | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_switch_config | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_third_server_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_unit | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_unit_conversion | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_vendor_classfied | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_vendor_info | ALTER | ❌ | 执行失败 |
|
||||
| dmp_md_vendor_login_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_vendor_pinyin | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_vendor_user | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_work_calendar | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_workgroup | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_workgroup_person | CREATE | ✅ | 新建表 |
|
||||
| dmp_md_workshop | ALTER | ❌ | 执行失败 |
|
||||
| dmp_optlog_infos | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_basic_config | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_basic_dictionary | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_formulation | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_formulation_material | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_formulation_product | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_ingredient | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_ingredient_material | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_requisition | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_requisition_material | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_requisition_production | CREATE | ✅ | 新建表 |
|
||||
| dmp_rm_requisition_production_record | CREATE | ✅ | 新建表 |
|
||||
|
||||
### 脚本位置
|
||||
|
||||
```
|
||||
/home/yangxuan/codes/xuan-sql/scripts/20260814/
|
||||
├── README.md
|
||||
└── dmp_smdm__*_struct.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## table-alias 技能 - 表结构同步
|
||||
|
||||
**时间:** 2026-08-14 15:21-15:49
|
||||
|
||||
**技能版本:** v1.1.2(新建并迭代)
|
||||
|
||||
### 技能开发
|
||||
|
||||
**背景:** 需要将准生产数据库表结构同步到 VPS 开发库,确保开发环境与准生产环境表结构一致。
|
||||
|
||||
**创建过程:**
|
||||
1. 15:21 - 创建技能目录和基础脚本
|
||||
2. 15:28 - 首次执行 `dmp_serp` 全量同步(303 张表)
|
||||
3. 15:34 - 发现并修复 `\n` 转义字符问题
|
||||
4. 15:38 - 测试单表同步 `dmp_smes.8d_cause_action`
|
||||
5. 15:40 - 修复脚本提取逻辑(`cut -f2` + `sed '1d;$d'`)
|
||||
6. 15:48 - 完成 `dmp_smes` 全量同步(290 张表)
|
||||
|
||||
### 技术修复记录
|
||||
|
||||
#### v1.1.1 - `\n` 转义字符处理
|
||||
|
||||
**问题:** MySQL `SHOW CREATE TABLE` 返回的建表语句中,字段定义之间使用字面量 `\n` 字符(两个字符:反斜杠 + n),而非真正的换行符。
|
||||
|
||||
**解决:**
|
||||
```bash
|
||||
SOURCE_CREATE=$(mysql ... -e "SHOW CREATE TABLE ..." | cut -f2 | sed 's/\\n/\n/g')
|
||||
```
|
||||
|
||||
**批量修复已生成脚本:**
|
||||
```bash
|
||||
cd /home/yangxuan/codes/xuan-sql/scripts/20260814
|
||||
for f in *.sql; do sed -i 's/\\n/\n/g' "$f"; done
|
||||
# 处理 351 个文件
|
||||
```
|
||||
|
||||
#### v1.1.2 - 表体提取逻辑修复
|
||||
|
||||
**问题 1:** `SHOW CREATE TABLE` 输出是两列(表名 + CREATE 语句),用制表符分隔。
|
||||
|
||||
**解决:** 使用 `cut -f2` 提取第二列。
|
||||
|
||||
**问题 2:** `sed` 正则无法跨行匹配提取表体。
|
||||
|
||||
**解决:** 使用 `sed '1d;$d'` 删除首尾行。
|
||||
|
||||
```bash
|
||||
# 完整处理流程
|
||||
SOURCE_CREATE=$(mysql ... -e "SHOW CREATE TABLE ..." | cut -f2 | sed 's/\\n/\n/g')
|
||||
TABLE_BODY=$(echo "$SOURCE_CREATE" | sed '1d;$d')
|
||||
```
|
||||
|
||||
### 同步任务汇总
|
||||
|
||||
| 时间 | 源库 | 目标库 | 表数 | 成功 | 失败 | 状态 |
|
||||
|------|------|--------|------|------|------|------|
|
||||
| 15:28 | 准生产 `dmp_serp` | VPS `dmp_serp` | 303 | 303 | 0 | ✅ 完成 |
|
||||
| 15:38 | 准生产 `dmp_smes` (单表) | VPS `dmp_smes` | 1 | 1 | 0 | ✅ 完成 |
|
||||
| 15:48 | 准生产 `dmp_smes` (全量) | VPS `dmp_smes` | 290 | 290 | 0 | ✅ 完成 |
|
||||
|
||||
**验证结果:**
|
||||
```bash
|
||||
# dmp_serp
|
||||
准生产:303 张表
|
||||
VPS: 303 张表 ✅
|
||||
|
||||
# dmp_smes
|
||||
准生产:290 张表
|
||||
VPS: 290 张表 ✅ (原 65 张,新增 225 张)
|
||||
```
|
||||
|
||||
### 输出产物
|
||||
|
||||
**脚本目录:** `/home/yangxuan/codes/xuan-sql/scripts/20260814/`
|
||||
- `dmp_serp__*__struct.sql` - 303 个文件
|
||||
- `dmp_smes__*__struct.sql` - 237 个文件(新增)
|
||||
- `dmp_smdm__*__struct.sql` - 127 个文件(之前生成)
|
||||
|
||||
**技能文件:**
|
||||
- SKILL.md: `/home/yangxuan/.openclaw/workspace-sql/skills/table-alias/SKILL.md` (v1.1.2)
|
||||
- 执行脚本:`/home/yangxuan/.openclaw/skills/table-alias/scripts/sync_table.sh`
|
||||
|
||||
### 使用示例
|
||||
|
||||
**自然语言命令:**
|
||||
```
|
||||
同步准生产 dmp_serp 的表结构到 VPS
|
||||
同步准生产 dmp_smes 的 8d_cause_action 表到 VPS
|
||||
```
|
||||
|
||||
**命令行:**
|
||||
```bash
|
||||
export MYSQL_PWD_WIT=o2byaCkBvF1Y8S2L
|
||||
export MYSQL_PWD_SQL=5gynj20J
|
||||
|
||||
cd ~/.openclaw/skills/table-alias
|
||||
./scripts/sync_table.sh dmp_serp # 全库同步
|
||||
./scripts/sync_table.sh dmp_smes 8d_cause_action # 单表同步
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
|
||||
1. **网络环境:** 准生产数据库只能在 `100.115.195.x` 网段访问
|
||||
2. **表数量阈值:** > 50 张表时需要用户确认
|
||||
3. **错误处理:** 遇到错误时继续执行其他表
|
||||
4. **表名格式:** `dmp_smes` 库的表名不带 `dmp_` 前缀(如 `8d_cause_action`)
|
||||
|
||||
Reference in New Issue
Block a user