データベース辞書

このページは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データベーステーブル名
classesArray(文字列)いいえこのテーブルに関連付けられているクラスのリスト。
feature_categoriesArray(文字列)yesこのテーブルを使用する機能カテゴリのリスト。
description文字列いいえテーブルに格納されている情報のテキスト説明とその目的。
introduced_by_urlURLいいえこのテーブルを導入したマージリクエストまたはコミットへの URL。
milestone文字列いいえこのテーブルを導入したマイルストーン。
gitlab_schema文字列yesGitLabスキーマ名。

プロセス

テーブルを追加する際には

  1. 適切なディレクトリにテーブル用の新規ファイルを作成します:
    • gitlab_main テーブルに移動します:db/docs/
    • gitlab_ci テーブルに移動します:db/docs/
    • gitlab_shared テーブルに移動します:db/docs/
    • gitlab_embedding テーブルに移動します:ee/db/embedding/docs/
    • gitlab_geo テーブルに移動します:ee/db/geo/docs/
  2. ファイル名を<table_name>.yml とし、テーブルについて知っている限りの情報を含めてください。
  3. このファイルをテーブルを作成するマイグレーションと一緒にコミットに含めます。

テーブルの削除

スキーマ

属性種類必須説明
table_name文字列yesデータベーステーブル名
classesArray(文字列)いいえこのテーブルに関連付けられているクラスのリスト。
feature_categoriesArray(文字列)yesこのテーブルを使用する機能カテゴリのリスト。
description文字列いいえテーブルに格納されている情報のテキスト説明とその目的。
introduced_by_urlURLいいえこのテーブルを導入したマージリクエストまたはコミットへの URL。
milestone文字列いいえこのテーブルを導入したマイルストーン。
gitlab_schema文字列yesGitLabスキーマ名。
removed_by_url文字列yesこのテーブルを削除したマージリクエストまたはコミットへの URL。
removed_in_milestone文字列yesこのテーブルを削除するマイルストーン。

プロセス

テーブルを削除するときは

  1. このテーブルの辞書ファイルを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/
  2. removed_by_urlremoved_in_milestone フィールドを辞書ファイルに追加します。
  3. テーブルを削除するマイグレーションで、この変更をコミットに含めます。

ビューの追加

スキーマ

属性種類必須説明
table_name文字列yesデータベースビュー名。
classesArray(文字列)いいえこのビューに関連付けられているクラスのリスト。
feature_categoriesArray(文字列)yesこのビューを使用する機能カテゴリのリスト。
description文字列いいえビューに格納されている情報のテキスト説明とその目的。
introduced_by_urlURLいいえこのビューを導入したマージリクエストまたはコミットへの URL。
milestone文字列いいえこのビューを導入したマイルストーン。
gitlab_schema文字列yesGitLabスキーマ名。

プロセス

新しいビューを追加する際には

  1. 適切なディレクトリに、このビューの新規ファイルを作成します:
    • 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/
  2. ファイル名を<view_name>.yml とし、ビューについて知っている限りの情報を含めてください。
  3. このファイルをビューを作成するマイグレーションと一緒にコミットに含めます。

ビューの削除

スキーマ

属性種類必須説明
view_name文字列yesデータベースビュー名。
classesArray(文字列)いいえこのビューに関連付けられているクラスのリスト。
feature_categoriesArray(文字列)yesこのビューを使用する機能カテゴリのリスト。
description文字列いいえビューに格納されている情報のテキスト説明とその目的。
introduced_by_urlURLいいえこのビューを導入したマージリクエストまたはコミットへの URL。
milestone文字列いいえこのビューを導入したマイルストーン。
gitlab_schema文字列yesGitLabスキーマ名。
removed_by_url文字列yesこのビューを削除したマージリクエストまたはコミットへの URL。
removed_in_milestone文字列yesこのビューを削除するマイルストーン。

プロセス

ビューを削除するときは

  1. このテーブルの辞書ファイルを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/
  2. removed_by_urlremoved_in_milestone フィールドを辞書ファイルに追加します。
  3. ビューを削除するマイグレーションで、この変更をコミットに含めます。