データベース辞書
このページはGitLabのデータベーススキーマを文書化したもので、データアナリストやその他のグループが特定のデータベーステーブルを担当する機能カテゴリを見つけることができます。
設置場所
データベース辞書メタデータ・ファイルは、main
およびci
データベースについては、db/docs/
の下のgitlab
プロジェクトに格納されます。embedding
データベースについては、辞書ファイルはee/db/embedding/docs/
の下に格納されます。geo
デー タ ベース の場合、 辞書フ ァ イ ルはee/db/geo/docs/
の下に格納 さ れます。
辞書ファイルの例
---
table_name: terraform_states
classes:
- Terraform::State
feature_categories:
- infrastructure_as_code
description: Represents a Terraform state backend
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26619
milestone: '13.0'
gitlab_schema: gitlab_main
テーブルの追加
スキーマ
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
table_name | 文字列 | yes | データベーステーブル名 |
classes | Array(文字列) | いいえ | このテーブルに関連付けられているクラスのリスト。 |
feature_categories | Array(文字列) | yes | このテーブルを使用する機能カテゴリのリスト。 |
description | 文字列 | いいえ | テーブルに格納されている情報のテキスト説明とその目的。 |
introduced_by_url | URL | いいえ | このテーブルを導入したマージリクエストまたはコミットへの URL。 |
milestone | 文字列 | いいえ | このテーブルを導入したマイルストーン。 |
gitlab_schema | 文字列 | yes | GitLabスキーマ名。 |
プロセス
テーブルを追加する際には
- 適切なディレクトリにテーブル用の新規ファイルを作成します:
-
gitlab_main
テーブルに移動します:db/docs/
-
gitlab_ci
テーブルに移動します:db/docs/
-
gitlab_shared
テーブルに移動します:db/docs/
-
gitlab_embedding
テーブルに移動します:ee/db/embedding/docs/
-
gitlab_geo
テーブルに移動します:ee/db/geo/docs/
-
- ファイル名を
<table_name>.yml
とし、テーブルについて知っている限りの情報を含めてください。 - このファイルをテーブルを作成するマイグレーションと一緒にコミットに含めます。
テーブルの削除
スキーマ
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
table_name | 文字列 | yes | データベーステーブル名 |
classes | Array(文字列) | いいえ | このテーブルに関連付けられているクラスのリスト。 |
feature_categories | Array(文字列) | yes | このテーブルを使用する機能カテゴリのリスト。 |
description | 文字列 | いいえ | テーブルに格納されている情報のテキスト説明とその目的。 |
introduced_by_url | URL | いいえ | このテーブルを導入したマージリクエストまたはコミットへの URL。 |
milestone | 文字列 | いいえ | このテーブルを導入したマイルストーン。 |
gitlab_schema | 文字列 | yes | GitLabスキーマ名。 |
removed_by_url | 文字列 | yes | このテーブルを削除したマージリクエストまたはコミットへの URL。 |
removed_in_milestone | 文字列 | yes | このテーブルを削除するマイルストーン。 |
プロセス
テーブルを削除するときは
- このテーブルの辞書ファイルを
deleted_tables
ディレクトリに移動します:-
gitlab_main
テーブルに移動します:db/docs/deleted_tables/
-
gitlab_ci
テーブルに移動します:db/docs/deleted_tables/
-
gitlab_shared
テーブルに移動します:db/docs/deleted_tables/
-
gitlab_embedding
テーブルに移動します:ee/db/embedding/docs/deleted_tables/
-
gitlab_geo
テーブルに移動します:ee/db/geo/docs/deleted_tables/
-
-
removed_by_url
、removed_in_milestone
フィールドを辞書ファイルに追加します。 - テーブルを削除するマイグレーションで、この変更をコミットに含めます。
ビューの追加
スキーマ
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
table_name | 文字列 | yes | データベースビュー名。 |
classes | Array(文字列) | いいえ | このビューに関連付けられているクラスのリスト。 |
feature_categories | Array(文字列) | yes | このビューを使用する機能カテゴリのリスト。 |
description | 文字列 | いいえ | ビューに格納されている情報のテキスト説明とその目的。 |
introduced_by_url | URL | いいえ | このビューを導入したマージリクエストまたはコミットへの URL。 |
milestone | 文字列 | いいえ | このビューを導入したマイルストーン。 |
gitlab_schema | 文字列 | yes | GitLabスキーマ名。 |
プロセス
新しいビューを追加する際には
- 適切なディレクトリに、このビューの新規ファイルを作成します:
-
gitlab_main
ビューdb/docs/views/
-
gitlab_ci
ビューdb/docs/views/
-
gitlab_shared
ビューdb/docs/views/
-
gitlab_embedding
ビューee/db/embedding/docs/views/
-
gitlab_geo
ビューee/db/geo/docs/views/
-
- ファイル名を
<view_name>.yml
とし、ビューについて知っている限りの情報を含めてください。 - このファイルをビューを作成するマイグレーションと一緒にコミットに含めます。
ビューの削除
スキーマ
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
view_name | 文字列 | yes | データベースビュー名。 |
classes | Array(文字列) | いいえ | このビューに関連付けられているクラスのリスト。 |
feature_categories | Array(文字列) | yes | このビューを使用する機能カテゴリのリスト。 |
description | 文字列 | いいえ | ビューに格納されている情報のテキスト説明とその目的。 |
introduced_by_url | URL | いいえ | このビューを導入したマージリクエストまたはコミットへの URL。 |
milestone | 文字列 | いいえ | このビューを導入したマイルストーン。 |
gitlab_schema | 文字列 | yes | GitLabスキーマ名。 |
removed_by_url | 文字列 | yes | このビューを削除したマージリクエストまたはコミットへの URL。 |
removed_in_milestone | 文字列 | yes | このビューを削除するマイルストーン。 |
プロセス
ビューを削除するときは
- このテーブルの辞書ファイルを
deleted_views
ディレクトリに移動します:-
gitlab_main
ビューdb/docs/deleted_views/
-
gitlab_ci
ビューdb/docs/deleted_views/
-
gitlab_shared
ビューdb/docs/deleted_views/
-
gitlab_embedding
ビューee/db/embedding/docs/deleted_views/
-
gitlab_geo
ビューee/db/geo/docs/deleted_views/
-
-
removed_by_url
、removed_in_milestone
フィールドを辞書ファイルに追加します。 - ビューを削除するマイグレーションで、この変更をコミットに含めます。