sync: sql agent workspace updates
This commit is contained in:
@@ -113,3 +113,69 @@ WHERE t1.ecid = 'hsjm';
|
||||
|
||||
### 当前状态
|
||||
三个表(`dmp_im_stock_in`、`dmp_im_stock_out`、`dmp_im_stock_in_out_flow_detail`)在 `dmp_serp` 中均**无数据**(ecid='hsjm'),需先导入数据后再执行更新。
|
||||
|
||||
## 工作空间初始化
|
||||
|
||||
重写所有配置文件为中文:
|
||||
- **IDENTITY.md** — SQL Agent,职责:连接数据库、编写分析SQL、提供脚本
|
||||
- **SOUL.md** — 直接有用、有判断力、先查再做
|
||||
- **AGENTS.md** — 会话启动、记忆管理、红线、数据库操作规范
|
||||
- **USER.md** — yangxuan、Asia/Shanghai、偏好中文/简洁/本地客户端
|
||||
- **HEARTBEAT.md** — 删除(SQL Agent 不需要心跳任务)
|
||||
- **.git** — 删除独立仓库,使用 `.openclaw` 公用 git
|
||||
- **.env** — 删除重复文件,共用 `/home/yangxuan/.openclaw/.env`
|
||||
|
||||
## 技能安装
|
||||
|
||||
从 ClawHub 安装 **sql-toolkit@1.0.0**,覆盖查询设计、迁移优化、索引策略等最佳实践。
|
||||
|
||||
## 新建表
|
||||
|
||||
- **`dmp_om_productinfo`**(订单明细表)— 在本地 `dmp_serp` 创建,87个字段,InnoDB/utf8mb4,3个复合索引
|
||||
|
||||
## 跨库级联更新
|
||||
|
||||
### qc_task_inspect ← dmp_mc_purchase_arrival
|
||||
关联条件:`arrival_doc_no = arrival_no`
|
||||
```sql
|
||||
UPDATE dmp_smes.qc_task_inspect t1
|
||||
INNER JOIN dmp_serp.dmp_mc_purchase_arrival t2
|
||||
ON t1.arrival_doc_no = t2.arrival_no
|
||||
SET
|
||||
t1.insp_time = STR_TO_DATE(
|
||||
CONCAT(DATE_FORMAT(t2.ship_date, '%Y-%m-%d'), ' ', DATE_FORMAT(t1.insp_time, '%H:%i:%s')),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
),
|
||||
t1.create_time = STR_TO_DATE(
|
||||
CONCAT(DATE_FORMAT(t2.ship_date, '%Y-%m-%d'), ' ', DATE_FORMAT(t1.create_time, '%H:%i:%s')),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
),
|
||||
t1.update_time = STR_TO_DATE(
|
||||
CONCAT(DATE_FORMAT(t2.ship_date, '%Y-%m-%d'), ' ', DATE_FORMAT(t1.update_time, '%H:%i:%s')),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
)
|
||||
WHERE t2.ship_date IS NOT NULL;
|
||||
```
|
||||
|
||||
### dmp_me_work_operate_record_detail
|
||||
根据报工日期 `report_date` 更新创建时间和更新时间:
|
||||
```sql
|
||||
UPDATE `dmp_me_work_operate_record_detail` t1
|
||||
SET
|
||||
t1.create_time = STR_TO_DATE(
|
||||
CONCAT(DATE_FORMAT(t1.report_date, '%Y-%m-%d'), ' ', DATE_FORMAT(t1.create_time, '%H:%i:%s')),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
),
|
||||
t1.update_time = STR_TO_DATE(
|
||||
CONCAT(DATE_FORMAT(t1.report_date, '%Y-%m-%d'), ' ', DATE_FORMAT(t1.update_time, '%H:%i:%s')),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
)
|
||||
WHERE t1.ecid = 'kangda'
|
||||
AND t1.report_date IS NOT NULL;
|
||||
```
|
||||
|
||||
## 数据导入经验
|
||||
|
||||
- INSERT 语句中的 `-- NULL` 注释会被 MySQL 当作行内注释吞掉后续值,导致列数不匹配
|
||||
- 非必填字段可以跳过不插,只写有值的字段
|
||||
- 长 INSERT 建议写入 `.sql` 文件后通过 `< file.sql` 导入
|
||||
|
||||
Reference in New Issue
Block a user