mcpField
Z
zeabur-migration

zeabur-migration

github.com/zeabur云与 DevOps39174 次安装7 周前更新
代码仓库

关于 zeabur-migration

zeabur-migration 是用于排查 Zeabur 部署中数据库迁移卡住问题的技能,面向应用部署与数据库迁移配置。它提供将迁移放入 API 启动流程或配置独立迁移服务两种方案。

主要功能

  1. 01识别迁移等待循环
  2. 02在 API 启动时运行迁移
  3. 03配置独立迁移服务
  4. 04查看迁移日志排查错误

适用场景

  1. 01解决迁移状态持续等待
  2. 02为 API 启动流程添加迁移步骤
  3. 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