From 9676e9a13e3a12b339ad0dcb32d31a9aa71148d4 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sat, 7 Feb 2026 17:59:04 +0800 Subject: [PATCH] update --- update.sh | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 update.sh diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..4243d97 --- /dev/null +++ b/update.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# Stock Agent 更新脚本 +# 用于服务器部署更新 + +set -e + +echo "==========================================" +echo " Stock Agent 更新脚本" +echo "==========================================" + +# 进入项目目录 +cd "$(dirname "$0")" +PROJECT_DIR=$(pwd) +echo "项目目录: $PROJECT_DIR" + +# 1. 拉取最新代码 +echo "" +echo "[1/4] 拉取最新代码..." +git pull origin main + +# 2. 数据库迁移 - 添加 entry_type 列(如果不存在) +echo "" +echo "[2/4] 检查数据库迁移..." +DB_PATH="$PROJECT_DIR/backend/stock_agent.db" + +if [ -f "$DB_PATH" ]; then + # 检查 entry_type 列是否存在 + if ! sqlite3 "$DB_PATH" "PRAGMA table_info(paper_orders);" | grep -q "entry_type"; then + echo " 添加 entry_type 列..." + sqlite3 "$DB_PATH" "ALTER TABLE paper_orders ADD COLUMN entry_type VARCHAR(10) DEFAULT 'market';" + echo " entry_type 列已添加" + else + echo " entry_type 列已存在,跳过" + fi +else + echo " 数据库文件不存在,将在首次运行时创建" +fi + +# 3. 安装/更新依赖(如果需要) +echo "" +echo "[3/4] 检查 Python 依赖..." +if [ -f "$PROJECT_DIR/backend/requirements.txt" ]; then + cd "$PROJECT_DIR/backend" + pip install -r requirements.txt -q + echo " 依赖已更新" +fi + +# 4. 重启服务 +echo "" +echo "[4/4] 重启服务..." +if command -v pm2 &> /dev/null; then + pm2 restart run_crypto --update-env 2>/dev/null || echo " run_crypto 服务不存在或重启失败" + pm2 restart run_api --update-env 2>/dev/null || echo " run_api 服务不存在或重启失败" + echo "" + echo "服务状态:" + pm2 list +else + echo " PM2 未安装,请手动重启服务" +fi + +echo "" +echo "==========================================" +echo " 更新完成!" +echo "=========================================="