|
|
@@ -0,0 +1,61 @@
|
|
|
+---
|
|
|
+name: db-sync-prod-to-dev
|
|
|
+description: 从正式环境 PostgreSQL 数据库同步数据到本地开发环境的自动化工具。用于开发测试时将正式数据同步到本地。触发词:"同步正式库"、"sync production database"、"同步数据库"、"db sync"、"从正式库同步"、"同步prod数据"。每次执行时需要询问用户正式环境的内网IP地址(因为IP会变化)。
|
|
|
+---
|
|
|
+
|
|
|
+# 数据库同步 (Prod → Dev)
|
|
|
+
|
|
|
+将正式环境数据库同步到本地开发环境,并自动设置测试账号密码。
|
|
|
+
|
|
|
+## 执行流程
|
|
|
+
|
|
|
+### 1. 获取正式环境 IP
|
|
|
+
|
|
|
+使用 AskUserQuestion 询问用户正式环境的内网 IP:
|
|
|
+
|
|
|
+```
|
|
|
+请输入正式环境的内网 IP 地址:
|
|
|
+```
|
|
|
+
|
|
|
+### 2. 执行数据库同步
|
|
|
+
|
|
|
+使用 pg_dump 通过管道直接同步:
|
|
|
+
|
|
|
+```bash
|
|
|
+pg_dump -h <IP> -p 5432 -U postgres --clean --if-exists postgres | \
|
|
|
+ psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
|
|
|
+```
|
|
|
+
|
|
|
+### 3. 更新测试账号密码
|
|
|
+
|
|
|
+同步完成后,将 users2 表中的测试账号密码改为明文 `123123`:
|
|
|
+
|
|
|
+```sql
|
|
|
+-- 企业小程序和人才小程序用户密码改为 123123
|
|
|
+-- 管理员(id=1)保持不变
|
|
|
+UPDATE users2 SET password = '123123' WHERE id != 1;
|
|
|
+```
|
|
|
+
|
|
|
+### 4. 验证结果
|
|
|
+
|
|
|
+显示关键表的记录数确认同步成功:
|
|
|
+
|
|
|
+```sql
|
|
|
+SELECT 'areas' as tbl, COUNT(*) as cnt FROM areas
|
|
|
+UNION ALL SELECT 'disabled_person', COUNT(*) FROM disabled_person
|
|
|
+UNION ALL SELECT 'users2', COUNT(*) FROM users2
|
|
|
+UNION ALL SELECT 'files', COUNT(*) FROM files
|
|
|
+ORDER BY tbl;
|
|
|
+```
|
|
|
+
|
|
|
+## 测试账号
|
|
|
+
|
|
|
+同步后可使用以下账号测试:
|
|
|
+- 企业小程序: 13800013800 / 123123
|
|
|
+- 人才小程序: 13800138004 / 123123
|
|
|
+
|
|
|
+## 注意事项
|
|
|
+
|
|
|
+- 正式环境 IP 会变化,每次执行必须询问
|
|
|
+- 密码修改仅影响本地开发环境,不影响正式环境
|
|
|
+- 本地数据库地址:127.0.0.1:5432
|