#!/usr/bin/env bash # 只做数据库迁移(不启服务)。部署 / CI / "只想把表建好"时用。 # 用法: bash scripts/migrate.sh # 启动服务用 ./run.sh(它会自动先跑迁移)。详见 docs/数据库迁移.md set -e cd "$(dirname "$0")/.." # 切到项目根(alembic.ini 所在) if [ ! -f .env ]; then echo "❌ 缺 .env:先 cp .env.example .env 并填值(至少 JWT_SECRET_KEY)" exit 1 fi mkdir -p data # SQLite 库文件所在目录(用 Postgres 时无害) echo "→ alembic upgrade head" alembic upgrade head # 幂等:已是最新则 no-op echo "✅ 数据库已升到最新 (alembic current 可查看当前版本)"