- 更新 GitHub Actions 工作流,调整部署步骤,先启动数据库服务以确保迁移顺利进行。 - 新增启动所有服务的步骤,确保在迁移完成后启动全部服务。 - 在 SQL 脚本中添加锁定超时设置,提升数据库操作的稳定性。
数据库迁移
说明
sync_schema_to_models.sql:与当前api/database/models.py保持一致的幂等迁移脚本,部署工作流会在每次部署后自动执行。可重复执行,已存在的表/列会跳过。- 其余
add_*.sql为历史增量迁移,可按需单独执行;若已运行过sync_schema_to_models.sql,通常不必再跑。
手动执行
# 从项目根目录
psql -U <user> -d <database> -f api/migrations/sync_schema_to_models.sql
若使用与 docker-compose 默认不同的数据库用户/库名,可在 GitHub 仓库中配置 Secrets:MIGRATION_DB_USER、MIGRATION_DB_NAME,工作流将用其执行迁移。