正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

データベース移行API

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

このAPIを使用して、GitLabデータベースの移行を管理します。

前提条件:

  • インスタンスへの管理者アクセス権が必要です。

移行を成功としてマークする

保留中の移行を正常に実行されたものとしてマークし、db:migrateタスクによる実行を防ぎます。このAPIを使用して、失敗した移行がスキップしても安全であると判断された後でスキップします。

POST /api/v4/admin/migrations/:version/mark
属性必須説明
version整数はいスキップする移行のバージョンタイムスタンプ
database文字列いいえ移行がスキップされるデータベース名。mainがデフォルトです。
curl --header "PRIVATE-TOKEN: <your_access_token>" \
   --url "https://gitlab.example.com/api/v4/admin/migrations/:version/mark"

保留中の移行をリストする

指定されたデータベースの、保留中の(まだ実行されていない)すべての移行のリストを返します。

GET /api/v4/admin/migrations/pending
属性必須説明
database文字列いいえクエリするデータベース名。mainがデフォルトです。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
   --url "https://gitlab.example.com/api/v4/admin/migrations/pending?database=main"

レスポンス例:

{
  "pending_migrations": [
    {
      "version": 20240101120000,
      "name": "create_users_table",
      "filename": "20240101120000_create_users_table.rb",
      "status": "pending"
    },
    {
      "version": 20240102150000,
      "name": "add_email_to_users",
      "filename": "20240102150000_add_email_to_users.rb",
      "status": "pending"
    }
  ],
  "database": "main",
  "total_pending": 2
}