5926c73ff1
- 数据库: PostgreSQL schema + 3名销售/21客户/341消息/6成交 - 采集代理: mock_sync.py 模拟微信聊天同步 - AI分析: analyze.py 规则模式 + 千问LLM模式 - 后端: FastAPI 11个API接口 - 前端: 仪表盘/销售列表/客户列表/成交记录/交流分析/录入成交 - 交流分析: 全部客户对话概览 + LLM标准范式对话生成 - 部署: systemd + nginx, 已部署至 sale.all8ai.top
60 lines
1.8 KiB
Bash
Executable File
60 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
||
set -eu
|
||
|
||
# ============================================
|
||
# 微信营销管理系统 MVP - 数据库初始化
|
||
# ============================================
|
||
|
||
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
||
BIN="/usr/local/opt/postgresql@17/bin"
|
||
DATA="$ROOT/data"
|
||
SOCKET="$ROOT/socket"
|
||
LOG="$ROOT/postgres.log"
|
||
DBNAME="wxchat_sales"
|
||
|
||
mkdir -p "$SOCKET"
|
||
chmod 700 "$SOCKET"
|
||
|
||
# 检查 PostgreSQL 17 是否安装
|
||
if [ ! -x "$BIN/pg_ctl" ]; then
|
||
echo "[ERROR] 未找到 PostgreSQL 17: $BIN/pg_ctl"
|
||
echo "请安装: brew install postgresql@17"
|
||
exit 1
|
||
fi
|
||
|
||
# 初始化数据目录(仅首次)
|
||
if [ ! -f "$DATA/PG_VERSION" ]; then
|
||
echo "[INFO] 初始化 PostgreSQL 数据目录..."
|
||
"$BIN/initdb" -D "$DATA" --encoding=UTF8 --locale=en_US.UTF-8 \
|
||
--auth-local=trust --auth-host=trust
|
||
fi
|
||
|
||
# 启动 PostgreSQL(端口 5434)
|
||
if ! "$BIN/pg_ctl" -D "$DATA" status >/dev/null 2>&1; then
|
||
echo "[INFO] 启动 PostgreSQL (端口 5434)..."
|
||
"$BIN/pg_ctl" -D "$DATA" -l "$LOG" \
|
||
-o "-p 5434 -h '' -k $SOCKET" start
|
||
# 等待就绪
|
||
for i in $(seq 1 10); do
|
||
if "$BIN/psql" -h "$SOCKET" -p 5434 -d postgres -c "SELECT 1" >/dev/null 2>&1; then
|
||
break
|
||
fi
|
||
sleep 0.5
|
||
done
|
||
fi
|
||
|
||
# 创建数据库(幂等)
|
||
if ! "$BIN/psql" -h "$SOCKET" -p 5434 -d postgres -c "SELECT 1 FROM pg_database WHERE datname='$DBNAME'" | grep -q 1; then
|
||
echo "[INFO] 创建数据库: $DBNAME"
|
||
"$BIN/createdb" -h "$SOCKET" -p 5434 "$DBNAME"
|
||
fi
|
||
|
||
# 执行建表 SQL
|
||
echo "[INFO] 执行 schema.sql..."
|
||
"$BIN/psql" -h "$SOCKET" -p 5434 -d "$DBNAME" -f "$ROOT/schema.sql"
|
||
|
||
# 验证
|
||
COUNT=$("$BIN/psql" -h "$SOCKET" -p 5434 -d "$DBNAME" -t -c "SELECT count(*) FROM salesperson")
|
||
echo "[OK] 数据库就绪,销售人员数量: $COUNT"
|
||
echo "[OK] 连接方式: $BIN/psql -h $SOCKET -p 5434 -d $DBNAME"
|