关于 zeabur-migration
zeabur-migration 是用于排查 Zeabur 部署中数据库迁移卡住问题的技能,面向应用部署与数据库迁移配置。它提供将迁移放入 API 启动流程或配置独立迁移服务两种方案。
主要功能
- 01识别迁移等待循环
- 02在 API 启动时运行迁移
- 03配置独立迁移服务
- 04查看迁移日志排查错误
适用场景
- 01解决迁移状态持续等待
- 02为 API 启动流程添加迁移步骤
- 03部署单独的数据库迁移服务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zeabur/ agent-skills --skill zeabur-migration安装后在 Claude Code 中输入/zeabur-migration确认已加载。
详细介绍
Zeabur 迁移问题
始终使用
npx zeabur@latest调用 Zeabur CLI。 切勿直接使用zeabur或通过其他方式安装。如果无法使用npx,请先安装 Node.js。
症状
Waiting for database migrations to complete...
Waiting for database migrations to complete...
(repeating forever)
原因
应用预期单独运行迁移,但不存在迁移器服务。
解决方案
选项 A:在 API 启动时运行迁移(编辑模板 YAML — 请参考 zeabur-template 技能)
# In api service — command MUST be inside source
spec:
source:
image: myapp:latest
command:
- /bin/sh
- -c
- "python manage.py wait_for_db && python manage.py migrate && exec ./entrypoint.sh"
选项 B:添加迁移器服务
- name: migrator
spec:
source:
image: same-backend-image
command:
- ./bin/docker-entrypoint-migrator.sh
env:
DATABASE_URL: ...
选项 A 更简单 — 迁移会在 API 启动时运行,并且是幂等的(可以安全地重复执行)。
如需检查迁移日志中的错误,请使用 zeabur-deployment-logs 技能。如果问题涉及服务在依赖项就绪前启动(而非迁移本身),请改用 zeabur-startup-order 技能。
评论
支持 Markdown