骨架代码规范

This commit is contained in:
杨轩
2026-08-04 14:56:20 +08:00
parent 4637b17ca9
commit fcb30e1c69
15 changed files with 21027 additions and 16 deletions
+91
View File
@@ -0,0 +1,91 @@
# dmp_smdm 数据库结构备份
**备份日期:** 2026-08-03
**数据库:** dmp_smdm (主数据管理)
**备份方式:** `SHOW CREATE TABLE`(推荐,可完整还原表结构)
## 备份文件说明
| 文件名 | 大小 | 内容 | 行数 | 用途 |
|--------|------|------|------|------|
| `dmp_smdm_create_tables_2026-08-03.sql` | 247K | 128 张表的完整 CREATE TABLE 语句 | 3084 | ✅ **可直接导入恢复** |
| `dmp_smdm_schema_2026-08-03.csv` | 163K | 所有表的字段详细信息 | 2138 | 查阅/程序处理 |
| `dmp_smdm_indexes_2026-08-03.csv` | 12K | 所有表的索引信息 | 236 | 查阅/程序处理 |
| `dmp_smdm_tables_2026-08-03.csv` | 5.0K | 表名及注释 | 129 | 快速浏览 |
## 推荐备份方式
**`SHOW CREATE TABLE` 优势:**
- ✅ 完整的建表语句(包含字段、类型、注释、索引、引擎、字符集)
- ✅ 可直接导入 MySQL 恢复表结构
- ✅ 只需要 SELECT 权限(当前用户可用)
- ✅ 格式标准,易于版本管理
**CSV 方式劣势:**
- ❌ 无法直接导入恢复
- ❌ 需要手动编写 CREATE TABLE 语句
- ❌ 索引信息分离,容易遗漏
## 恢复方法
### 方式一:直接导入 SQL 文件(推荐)
```bash
# 连接到目标数据库
mysql -h <host> -P <port> -u <user> -p <database> < dmp_smdm_create_tables_2026-08-03.sql
```
### 方式二:查看单个表结构
```bash
# 查看指定表的建表语句
cat dmp_smdm_create_tables_2026-08-03.sql | grep -A 100 "Table: dmp_md_item_info" | head -80
```
### 方式三:从 CSV 查询
```bash
# 查看某个表的完整字段
cat dmp_smdm_schema_2026-08-03.csv | grep "dmp_md_item_info"
# 查看某个表的所有索引
cat dmp_smdm_indexes_2026-08-03.csv | grep "dmp_md_item_info"
```
## 用户权限说明
**当前用户:** `witsoftd`
**权限级别:** 只读
| 权限 | 状态 | 说明 |
|------|------|------|
| SELECT | ✅ | 可查询数据 |
| SHOW DATABASES | ✅ | 可查看数据库列表 |
| SHOW VIEW | ✅ | 可查看视图定义 |
| SHOW CREATE TABLE | ✅ | 可查看建表语句 |
| INSERT/UPDATE/DELETE | ❌ | 无法修改数据 |
| CREATE/ALTER/DROP | ❌ | 无法修改结构 |
| PROCESS/LOCK TABLES | ❌ | 无法使用 mysqldump |
## 注意事项
- ⚠️ 数据库用户 `witsoftd` 为只读账号
-`SHOW CREATE TABLE` 可正常使用(只需 SELECT 权限)
- ✅ 建议定期更新此备份(每周/每月)
- 📁 备份文件位置:`/root/.openclaw/workspace-planner/backups/`
## 备份其他数据库
```bash
# 备份 dmp_serp
mysql -h 47.99.209.185 -P 50036 -u witsoftd -p'o2byaCkBvF1Y8S2L' -N -e \
"SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA='dmp_serp'" dmp_serp | \
while read table; do
echo "-- Table: $table"
mysql -h 47.99.209.185 -P 50036 -u witsoftd -p'o2byaCkBvF1Y8S2L' \
-e "SHOW CREATE TABLE \`dmp_serp\`.\`$table\`\G" dmp_serp 2>/dev/null
echo ""
> dmp_serp_create_tables.sql
# 备份 dmp_smes / dmp_spom 同理
```