Files
worklist/docker-entrypoint.sh
bluish 6ecd95ad5d 将框架从 Flask 迁移到 FastAPI
主要改动:
- 更新依赖:使用 fastapi、uvicorn 替代 Flask
- 数据库层:从 Flask-SQLAlchemy 迁移到纯 SQLAlchemy
- 新增 database.py 管理数据库连接和会话
- 路由层:从 Blueprint 迁移到 APIRouter,添加 Pydantic 模型验证
- 应用层:使用 FastAPI 中间件替代 Flask 插件
- 启动方式:使用 uvicorn 替代 Flask 开发服务器
- 更新 Docker 配置以支持 FastAPI

优势:
- 更高的性能和异步支持
- 自动生成 OpenAPI 文档
- 更好的类型安全和数据验证
- 所有 API 端点保持向后兼容

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 10:12:22 +00:00

49 lines
1.1 KiB
Bash

#!/bin/bash
set -e
echo "正在启动工作任务管理系统..."
# 切换到backend目录
cd /app/backend
# 等待数据库初始化
echo "初始化数据库..."
python -c "
from database import init_db, SessionLocal
from models import User
import os
# 初始化数据库
init_db()
# 创建会话
db = SessionLocal()
try:
# 检查是否已有用户
existing_user = db.query(User).first()
if not existing_user:
# 从环境变量获取默认用户信息
default_username = os.getenv('DEFAULT_USERNAME', 'admin')
default_password = os.getenv('DEFAULT_PASSWORD', 'admin123')
# 创建默认用户
user = User(username=default_username)
user.set_password(default_password)
db.add(user)
db.commit()
print(f'已创建默认用户: {default_username}')
print(f'默认密码: {default_password}')
print('请登录后立即修改密码!')
else:
print('用户已存在,跳过初始化')
finally:
db.close()
"
echo "启动FastAPI应用..."
# 启动应用 (使用uvicorn)
exec uvicorn app:app --host 0.0.0.0 --port 5000