데이터베이스 마이그레이션 API
GitLab v19.5Offering: GitLab Self-Managed
요약
이 API를 사용하여 GitLab 데이터베이스 마이그레이션을 관리합니다. 대기 중인 마이그레이션을 성공적으로 실행된 것으로 표시하여 db:migrate 작업이 해당 마이그레이션을 실행하지 않도록 합니다. 지정한 데이터베이스에서 대기 중인(아직 실행되지 않은) 모든 마이그레이션 목록을 반환합니다.
이 API를 사용하여 GitLab 데이터베이스 마이그레이션을 관리합니다.
사전 요구 사항:
- 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
마이그레이션을 성공으로 표시#
대기 중인 마이그레이션을 성공적으로 실행된 것으로 표시하여 db:migrate 작업이 해당 마이그레이션을 실행하지 않도록 합니다.
실패한 마이그레이션을 건너뛰어도 안전하다고 판단한 뒤 이 API로 건너뜁니다.
POST /api/v4/admin/migrations/:version/mark
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
version |
integer | 예 | 건너뛸 마이그레이션의 버전 타임스탬프 |
database |
string | 아니요 | 마이그레이션을 건너뛸 데이터베이스 이름입니다. 기본값은 main 입니다. |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/admin/migrations/:version/mark"
대기 중인 마이그레이션 조회#
지정한 데이터베이스에서 대기 중인(아직 실행되지 않은) 모든 마이그레이션 목록을 반환합니다.
GET /api/v4/admin/migrations/pending
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
database |
string | 아니요 | 쿼리할 데이터베이스 이름입니다. 기본값은 main 입니다. |
요청 예시:
curl --request GET \
--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
}