25 lines
758 B
Bash
25 lines
758 B
Bash
#!/bin/bash
|
|
|
|
# 确保进入工作目录
|
|
cd /app
|
|
|
|
echo "=== [Step 1] 检查并初始化数据库 ==="
|
|
# 使用 || true 确保即使命令报错(例如migrations文件夹已存在)也不会中断脚本
|
|
flask db init || true
|
|
flask db migrate || true
|
|
flask db upgrade || true
|
|
|
|
# (可选) 每次重启尝试初始化数据,如果已存在则会被代码逻辑跳过
|
|
flask admin init || true
|
|
|
|
echo "=== [Step 2] 启动服务 (开发模式) ==="
|
|
|
|
# [优化] 增加 --reload 参数
|
|
# 配合 docker-compose 的 volumes,当检测到代码变化时,Gunicorn 会自动重启 worker
|
|
# access-logfile - 表示将日志输出到控制台
|
|
exec gunicorn --bind 0.0.0.0:5000 \
|
|
--workers 2 \
|
|
--reload \
|
|
--access-logfile - \
|
|
--error-logfile - \
|
|
app:app |