64 lines
1.8 KiB
Bash
Executable File
64 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# 数据库一键初始化脚本
|
|
|
|
echo "=============================================="
|
|
echo " DeepRisk 数据库初始化脚本"
|
|
echo "=============================================="
|
|
echo ""
|
|
|
|
# 检查虚拟环境
|
|
if [ ! -d "venv" ]; then
|
|
echo "❌ 未找到虚拟环境 venv"
|
|
echo "请先运行: python3 -m venv venv && source venv/bin/activate"
|
|
exit 1
|
|
fi
|
|
|
|
# 激活虚拟环境
|
|
source venv/bin/activate
|
|
|
|
# 检查依赖
|
|
echo "📦 检查依赖包..."
|
|
if ! python -c "import asyncpg, sqlalchemy, fastapi" 2>/dev/null; then
|
|
echo "⚠️ 依赖包不完整,正在安装..."
|
|
pip install -r requirements-working.txt
|
|
fi
|
|
|
|
# 检查数据库连接
|
|
echo ""
|
|
echo "🔍 检查数据库连接..."
|
|
if ! python -c "from app.database import engine; import asyncio; asyncio.run(engine.connect())" 2>/dev/null; then
|
|
echo "❌ 数据库连接失败!"
|
|
echo ""
|
|
echo "请确保:"
|
|
echo "1. PostgreSQL 服务正在运行 (端口 15432)"
|
|
echo "2. 数据库 'deeprisk_db' 已创建"
|
|
echo "3. .env 文件中的数据库配置正确"
|
|
echo ""
|
|
echo "创建数据库命令:"
|
|
echo " createdb deeprisk_db -U postgres -h localhost -p 15432"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 数据库连接正常"
|
|
echo ""
|
|
|
|
# 询问是否重新初始化
|
|
echo "是否重新初始化数据库?(会清空所有现有数据)"
|
|
read -p "输入 y 继续,其他键跳过: " -r
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
echo "跳过数据库初始化"
|
|
else
|
|
echo ""
|
|
echo "🚀 开始初始化数据库..."
|
|
python init_all.py
|
|
fi
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo " 初始化完成!"
|
|
echo "=============================================="
|
|
echo ""
|
|
echo "启动开发服务器:"
|
|
echo " uvicorn app.main:app --reload --host 0.0.0.0 --port 8000"
|
|
echo ""
|