feat: 新增产品管理模块 + AI基于产品详情生成范式对话 + 一键远程部署脚本
- schema.sql: 新增 product 表(positioning/selling_points) + deal 表加 product_id + 序列重置 + ALTER TABLE 迁移 - server.py: 产品 CRUD API + deal 关联 product_id + 仪表盘产品线统计 + 范式对话动态读取产品详情 - index.html: 产品管理页面 + 录入成交产品下拉 + 仪表盘增强 + 范式对话产品选择 + 导航通用化 - run_demo.sh: python 改 python3 + 预置成交关联 product_id - deploy.sh: 一键远程部署脚本(rsync+ssh+重启) - deploy_remote.sh: 远程数据库迁移脚本
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
# ============================================
|
||||
# 远程服务器端部署脚本(由 deploy.sh 调用)
|
||||
# 在远程服务器上执行数据库迁移和数据预置
|
||||
# ============================================
|
||||
|
||||
DEMO_DIR="/opt/wxsales/demo"
|
||||
|
||||
# 查找 psql 路径
|
||||
PSQL=""
|
||||
for p in /usr/bin/psql /usr/local/bin/psql /usr/pgsql-17/bin/psql /usr/local/pg17/bin/psql; do
|
||||
if [ -x "$p" ]; then PSQL="$p"; break; fi
|
||||
done
|
||||
if [ -z "$PSQL" ]; then
|
||||
echo "[ERROR] 未找到 psql"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 查找 PG socket 目录
|
||||
SOCKET_DIR=""
|
||||
for d in /var/lib/pgsql/data /opt/wxsales/demo/db/socket /tmp; do
|
||||
if [ -S "$d/.s.PGSQL.5434" ]; then SOCKET_DIR="$d"; break; fi
|
||||
done
|
||||
|
||||
# 构建连接参数
|
||||
if [ -n "$SOCKET_DIR" ]; then
|
||||
PSQL_CMD="$PSQL -h $SOCKET_DIR -p 5434 -d wxchat_sales"
|
||||
else
|
||||
# 尝试默认连接
|
||||
PSQL_CMD="$PSQL -p 5434 -d wxchat_sales"
|
||||
fi
|
||||
|
||||
echo "[INFO] 使用 psql: $PSQL"
|
||||
echo "[INFO] 执行 schema.sql..."
|
||||
|
||||
# 执行 schema.sql(幂等,包含迁移语句)
|
||||
$PSQL_CMD -f "$DEMO_DIR/db/schema.sql" 2>&1 || {
|
||||
echo "[WARN] schema.sql 执行有警告,尝试继续..."
|
||||
}
|
||||
|
||||
# 重置序列
|
||||
$PSQL_CMD -c "SELECT setval('product_id_seq', COALESCE((SELECT max(id) FROM product), 1), true);" 2>/dev/null || true
|
||||
$PSQL_CMD -c "SELECT setval('salesperson_id_seq', COALESCE((SELECT max(id) FROM salesperson), 1), true);" 2>/dev/null || true
|
||||
|
||||
# 验证
|
||||
PRODUCT_COUNT=$($PSQL_CMD -t -c "SELECT count(*) FROM product;" 2>/dev/null | xargs || echo "0")
|
||||
echo "[OK] 产品数量: $PRODUCT_COUNT"
|
||||
echo "[OK] 数据库迁移完成"
|
||||
Reference in New Issue
Block a user