schema.rb 123.9 KB
Newer Older
A
Andrew8xx8 已提交
1 2 3 4 5 6 7 8 9 10 11
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
D
Dmitriy Zaporozhets 已提交
12
# It's strongly recommended that you check this file into your version control system.
A
Andrew8xx8 已提交
13

14
ActiveRecord::Schema.define(version: 20181116141504) do
15

K
Kamil Trzcinski 已提交
16 17
  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"
18
  enable_extension "pg_trgm"
K
Kamil Trzcinski 已提交
19

V
Valery Sizov 已提交
20
  create_table "abuse_reports", force: :cascade do |t|
21 22 23
    t.integer "reporter_id"
    t.integer "user_id"
    t.text "message"
24 25
    t.datetime "created_at"
    t.datetime "updated_at"
26
    t.text "message_html"
27
    t.integer "cached_markdown_version"
28 29
  end

30
  create_table "appearances", force: :cascade do |t|
31 32
    t.string "title", null: false
    t.text "description", null: false
33 34
    t.string "header_logo"
    t.string "logo"
35 36
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
37
    t.text "description_html"
38
    t.integer "cached_markdown_version"
39 40
    t.text "new_project_guidelines"
    t.text "new_project_guidelines_html"
41
    t.string "favicon"
42 43
  end

44 45 46 47 48 49
  create_table "application_setting_terms", force: :cascade do |t|
    t.integer "cached_markdown_version"
    t.text "terms", null: false
    t.text "terms_html"
  end

V
Valery Sizov 已提交
50
  create_table "application_settings", force: :cascade do |t|
51 52 53 54
    t.integer "default_projects_limit"
    t.boolean "signup_enabled"
    t.boolean "gravatar_enabled"
    t.text "sign_in_text"
55 56
    t.datetime "created_at"
    t.datetime "updated_at"
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
    t.string "home_page_url"
    t.integer "default_branch_protection", default: 2
    t.text "restricted_visibility_levels"
    t.boolean "version_check_enabled", default: true
    t.integer "max_attachment_size", default: 10, null: false
    t.integer "default_project_visibility"
    t.integer "default_snippet_visibility"
    t.text "domain_whitelist"
    t.boolean "user_oauth_applications", default: true
    t.string "after_sign_out_path"
    t.integer "session_expire_delay", default: 10080, null: false
    t.text "import_sources"
    t.text "help_page_text"
    t.string "admin_notification_email"
    t.boolean "shared_runners_enabled", default: true, null: false
    t.integer "max_artifacts_size", default: 100, null: false
    t.string "runners_registration_token"
74
    t.integer "max_pages_size", default: 100, null: false
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
    t.boolean "require_two_factor_authentication", default: false
    t.integer "two_factor_grace_period", default: 48
    t.boolean "metrics_enabled", default: false
    t.string "metrics_host", default: "localhost"
    t.integer "metrics_pool_size", default: 16
    t.integer "metrics_timeout", default: 10
    t.integer "metrics_method_call_threshold", default: 10
    t.boolean "recaptcha_enabled", default: false
    t.string "recaptcha_site_key"
    t.string "recaptcha_private_key"
    t.integer "metrics_port", default: 8089
    t.boolean "akismet_enabled", default: false
    t.string "akismet_api_key"
    t.integer "metrics_sample_interval", default: 15
    t.boolean "sentry_enabled", default: false
    t.string "sentry_dsn"
    t.boolean "email_author_in_body", default: false
    t.integer "default_group_visibility"
    t.boolean "repository_checks_enabled", default: false
    t.text "shared_runners_text"
    t.integer "metrics_packet_size", default: 1
    t.text "disabled_oauth_sign_in_sources"
    t.string "health_check_access_token"
    t.boolean "send_user_confirmation_email", default: false
    t.integer "container_registry_token_expire_delay", default: 5
    t.text "after_sign_up_text"
V
Valery Sizov 已提交
101
    t.boolean "user_default_external", default: false, null: false
102
    t.string "repository_storages", default: "default"
103 104 105
    t.string "enabled_git_access_protocol"
    t.boolean "domain_blacklist_enabled", default: false
    t.text "domain_blacklist"
106
    t.boolean "usage_ping_enabled", default: true, null: false
107 108 109 110
    t.text "sign_in_text_html"
    t.text "help_page_text_html"
    t.text "shared_runners_text_html"
    t.text "after_sign_up_text_html"
111
    t.integer "rsa_key_restriction", default: 0, null: false
112
    t.integer "dsa_key_restriction", default: -1, null: false
113 114
    t.integer "ecdsa_key_restriction", default: 0, null: false
    t.integer "ed25519_key_restriction", default: 0, null: false
J
Jacob Vosmaer 已提交
115 116 117 118 119
    t.boolean "housekeeping_enabled", default: true, null: false
    t.boolean "housekeeping_bitmaps_enabled", default: true, null: false
    t.integer "housekeeping_incremental_repack_period", default: 10, null: false
    t.integer "housekeeping_full_repack_period", default: 50, null: false
    t.integer "housekeeping_gc_period", default: 200, null: false
120
    t.boolean "html_emails_enabled", default: true
121 122
    t.string "plantuml_url"
    t.boolean "plantuml_enabled"
123
    t.integer "terminal_max_session_time", default: 0, null: false
124 125 126
    t.integer "unique_ips_limit_per_user"
    t.integer "unique_ips_limit_time_window"
    t.boolean "unique_ips_limit_enabled", default: false, null: false
127 128
    t.string "default_artifacts_expire_in", default: "0", null: false
    t.string "uuid"
129
    t.decimal "polling_interval_multiplier", default: 1.0, null: false
130
    t.integer "cached_markdown_version"
131 132
    t.boolean "clientside_sentry_enabled", default: false, null: false
    t.string "clientside_sentry_dsn"
133
    t.boolean "prometheus_metrics_enabled", default: true, null: false
134 135
    t.boolean "help_page_hide_commercial_content", default: false
    t.string "help_page_support_url"
136
    t.integer "performance_bar_allowed_group_id"
137
    t.boolean "hashed_storage_enabled", default: false, null: false
138
    t.boolean "project_export_enabled", default: true, null: false
139
    t.boolean "auto_devops_enabled", default: true, null: false
M
Michael Kozono 已提交
140 141 142 143 144 145 146 147 148
    t.boolean "throttle_unauthenticated_enabled", default: false, null: false
    t.integer "throttle_unauthenticated_requests_per_period", default: 3600, null: false
    t.integer "throttle_unauthenticated_period_in_seconds", default: 3600, null: false
    t.boolean "throttle_authenticated_api_enabled", default: false, null: false
    t.integer "throttle_authenticated_api_requests_per_period", default: 7200, null: false
    t.integer "throttle_authenticated_api_period_in_seconds", default: 3600, null: false
    t.boolean "throttle_authenticated_web_enabled", default: false, null: false
    t.integer "throttle_authenticated_web_requests_per_period", default: 7200, null: false
    t.integer "throttle_authenticated_web_period_in_seconds", default: 3600, null: false
149 150
    t.boolean "password_authentication_enabled_for_web"
    t.boolean "password_authentication_enabled_for_git", default: true
A
Andrew Newdigate 已提交
151 152 153
    t.integer "gitaly_timeout_default", default: 55, null: false
    t.integer "gitaly_timeout_medium", default: 30, null: false
    t.integer "gitaly_timeout_fast", default: 10, null: false
154
    t.boolean "authorized_keys_enabled", default: true, null: false
155
    t.string "auto_devops_domain"
156
    t.boolean "pages_domain_verification_enabled", default: true, null: false
157
    t.string "user_default_internal_regex"
158
    t.boolean "allow_local_requests_from_hooks_and_services", default: false, null: false
159
    t.boolean "enforce_terms", default: false
160
    t.boolean "mirror_available", default: true, null: false
161
    t.boolean "hide_third_party_offers", default: false, null: false
162
    t.boolean "instance_statistics_visibility_private", default: false, null: false
P
Phil Hughes 已提交
163
    t.boolean "web_ide_clientside_preview_enabled", default: false, null: false
164
    t.boolean "user_show_add_ssh_key_message", default: true, null: false
165
    t.integer "usage_stats_set_by_user_id"
166
    t.integer "receive_max_input_size"
167
    t.integer "diff_max_patch_bytes", default: 102400, null: false
168
    t.integer "archive_builds_in_seconds"
169
    t.string "commit_email_hostname"
170
    t.string "runners_registration_token_encrypted"
171 172
  end

V
Valery Sizov 已提交
173
  create_table "audit_events", force: :cascade do |t|
174 175 176 177 178
    t.integer "author_id", null: false
    t.string "type", null: false
    t.integer "entity_id", null: false
    t.string "entity_type", null: false
    t.text "details"
V
Valery Sizov 已提交
179 180 181 182 183 184
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "audit_events", ["entity_id", "entity_type"], name: "index_audit_events_on_entity_id_and_entity_type", using: :btree

185
  create_table "award_emoji", force: :cascade do |t|
186 187 188 189
    t.string "name"
    t.integer "user_id"
    t.integer "awardable_id"
    t.string "awardable_type"
190 191 192 193
    t.datetime "created_at"
    t.datetime "updated_at"
  end

Z
Z.J. van de Weg 已提交
194
  add_index "award_emoji", ["awardable_type", "awardable_id"], name: "index_award_emoji_on_awardable_type_and_awardable_id", using: :btree
195
  add_index "award_emoji", ["user_id", "name"], name: "index_award_emoji_on_user_id_and_name", using: :btree
196

197 198 199 200 201 202 203 204 205 206 207 208 209
  create_table "badges", force: :cascade do |t|
    t.string "link_url", null: false
    t.string "image_url", null: false
    t.integer "project_id"
    t.integer "group_id"
    t.string "type", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
  end

  add_index "badges", ["group_id"], name: "index_badges_on_group_id", using: :btree
  add_index "badges", ["project_id"], name: "index_badges_on_project_id", using: :btree

210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
  create_table "board_group_recent_visits", id: :bigserial, force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "user_id"
    t.integer "board_id"
    t.integer "group_id"
  end

  add_index "board_group_recent_visits", ["board_id"], name: "index_board_group_recent_visits_on_board_id", using: :btree
  add_index "board_group_recent_visits", ["group_id"], name: "index_board_group_recent_visits_on_group_id", using: :btree
  add_index "board_group_recent_visits", ["user_id", "group_id", "board_id"], name: "index_board_group_recent_visits_on_user_group_and_board", unique: true, using: :btree
  add_index "board_group_recent_visits", ["user_id"], name: "index_board_group_recent_visits_on_user_id", using: :btree

  create_table "board_project_recent_visits", id: :bigserial, force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "user_id"
    t.integer "project_id"
    t.integer "board_id"
  end

  add_index "board_project_recent_visits", ["board_id"], name: "index_board_project_recent_visits_on_board_id", using: :btree
  add_index "board_project_recent_visits", ["project_id"], name: "index_board_project_recent_visits_on_project_id", using: :btree
  add_index "board_project_recent_visits", ["user_id", "project_id", "board_id"], name: "index_board_project_recent_visits_on_user_project_and_board", unique: true, using: :btree
  add_index "board_project_recent_visits", ["user_id"], name: "index_board_project_recent_visits_on_user_id", using: :btree

D
Douglas Barbosa Alexandre 已提交
236
  create_table "boards", force: :cascade do |t|
F
Felipe Artur 已提交
237
    t.integer "project_id"
D
Douglas Barbosa Alexandre 已提交
238 239
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
F
Felipe Artur 已提交
240
    t.integer "group_id"
D
Douglas Barbosa Alexandre 已提交
241 242
  end

F
Felipe Artur 已提交
243
  add_index "boards", ["group_id"], name: "index_boards_on_group_id", using: :btree
D
Douglas Barbosa Alexandre 已提交
244 245
  add_index "boards", ["project_id"], name: "index_boards_on_project_id", using: :btree

V
Valery Sizov 已提交
246
  create_table "broadcast_messages", force: :cascade do |t|
247
    t.text "message", null: false
248 249 250 251
    t.datetime "starts_at", null: false
    t.datetime "ends_at", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
252 253
    t.string "color"
    t.string "font"
254
    t.text "message_html", null: false
255
    t.integer "cached_markdown_version"
256
  end
257

258 259
  add_index "broadcast_messages", ["starts_at", "ends_at", "id"], name: "index_broadcast_messages_on_starts_at_and_ends_at_and_id", using: :btree

260 261 262
  create_table "chat_names", force: :cascade do |t|
    t.integer "user_id", null: false
    t.integer "service_id", null: false
K
Kamil Trzcinski 已提交
263
    t.string "team_id", null: false
264
    t.string "team_domain"
K
Kamil Trzcinski 已提交
265
    t.string "chat_id", null: false
266
    t.string "chat_name"
267
    t.datetime "last_used_at"
K
Kamil Trzcinski 已提交
268 269
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
270
  end
271

K
Kamil Trzcinski 已提交
272
  add_index "chat_names", ["service_id", "team_id", "chat_id"], name: "index_chat_names_on_service_id_and_team_id_and_chat_id", unique: true, using: :btree
273 274
  add_index "chat_names", ["user_id", "service_id"], name: "index_chat_names_on_user_id_and_service_id", unique: true, using: :btree

275
  create_table "chat_teams", force: :cascade do |t|
276
    t.integer "namespace_id", null: false
277 278 279 280
    t.string "team_id"
    t.string "name"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
D
Douwe Maan 已提交
281 282
  end

283
  add_index "chat_teams", ["namespace_id"], name: "index_chat_teams_on_namespace_id", unique: true, using: :btree
284

285 286 287 288 289 290 291 292 293
  create_table "ci_build_trace_chunks", id: :bigserial, force: :cascade do |t|
    t.integer "build_id", null: false
    t.integer "chunk_index", null: false
    t.integer "data_store", null: false
    t.binary "raw_data"
  end

  add_index "ci_build_trace_chunks", ["build_id", "chunk_index"], name: "index_ci_build_trace_chunks_on_build_id_and_chunk_index", unique: true, using: :btree

294 295 296 297 298 299 300 301
  create_table "ci_build_trace_section_names", force: :cascade do |t|
    t.integer "project_id", null: false
    t.string "name", null: false
  end

  add_index "ci_build_trace_section_names", ["project_id", "name"], name: "index_ci_build_trace_section_names_on_project_id_and_name", unique: true, using: :btree

  create_table "ci_build_trace_sections", force: :cascade do |t|
A
Alessio Caiazza 已提交
302
    t.integer "project_id", null: false
303 304 305 306 307 308 309 310 311 312
    t.datetime_with_timezone "date_start", null: false
    t.datetime_with_timezone "date_end", null: false
    t.integer "byte_start", limit: 8, null: false
    t.integer "byte_end", limit: 8, null: false
    t.integer "build_id", null: false
    t.integer "section_name_id", null: false
  end

  add_index "ci_build_trace_sections", ["build_id", "section_name_id"], name: "index_ci_build_trace_sections_on_build_id_and_section_name_id", unique: true, using: :btree
  add_index "ci_build_trace_sections", ["project_id"], name: "index_ci_build_trace_sections_on_project_id", using: :btree
313
  add_index "ci_build_trace_sections", ["section_name_id"], name: "index_ci_build_trace_sections_on_section_name_id", using: :btree
314

V
Valery Sizov 已提交
315
  create_table "ci_builds", force: :cascade do |t|
316
    t.string "status"
D
Douwe Maan 已提交
317
    t.datetime "finished_at"
318
    t.text "trace"
D
Douwe Maan 已提交
319 320 321
    t.datetime "created_at"
    t.datetime "updated_at"
    t.datetime "started_at"
322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
    t.integer "runner_id"
    t.float "coverage"
    t.integer "commit_id"
    t.text "commands"
    t.string "name"
    t.text "options"
    t.boolean "allow_failure", default: false, null: false
    t.string "stage"
    t.integer "trigger_request_id"
    t.integer "stage_idx"
    t.boolean "tag"
    t.string "ref"
    t.integer "user_id"
    t.string "type"
    t.string "target_url"
    t.string "description"
    t.text "artifacts_file"
K
Kamil Trzciński 已提交
339
    t.integer "project_id"
340 341
    t.text "artifacts_metadata"
    t.integer "erased_by_id"
342
    t.datetime "erased_at"
343
    t.datetime "artifacts_expire_at"
344 345 346 347
    t.string "environment"
    t.integer "artifacts_size", limit: 8
    t.string "when"
    t.text "yaml_variables"
348
    t.datetime "queued_at"
349
    t.string "token"
K
Kamil Trzcinski 已提交
350
    t.integer "lock_version"
351
    t.string "coverage_regex"
352
    t.integer "auto_canceled_by_id"
K
Kamil Trzcinski 已提交
353
    t.boolean "retried"
354
    t.integer "stage_id"
355 356
    t.integer "artifacts_file_store"
    t.integer "artifacts_metadata_store"
357
    t.boolean "protected"
358
    t.integer "failure_reason"
359
    t.datetime_with_timezone "scheduled_at"
D
Douwe Maan 已提交
360 361
  end

362
  add_index "ci_builds", ["artifacts_expire_at"], name: "index_ci_builds_on_artifacts_expire_at", where: "(artifacts_file <> ''::text)", using: :btree
363
  add_index "ci_builds", ["auto_canceled_by_id"], name: "index_ci_builds_on_auto_canceled_by_id", using: :btree
K
Kamil Trzcinski 已提交
364
  add_index "ci_builds", ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at", using: :btree
365
  add_index "ci_builds", ["commit_id", "status", "type"], name: "index_ci_builds_on_commit_id_and_status_and_type", using: :btree
K
Kamil Trzcinski 已提交
366 367
  add_index "ci_builds", ["commit_id", "type", "name", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_name_and_ref", using: :btree
  add_index "ci_builds", ["commit_id", "type", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_ref", using: :btree
S
Shinya Maeda 已提交
368
  add_index "ci_builds", ["id"], name: "partial_index_ci_builds_on_id_with_legacy_artifacts", where: "(artifacts_file <> ''::text)", using: :btree
369
  add_index "ci_builds", ["project_id", "id"], name: "index_ci_builds_on_project_id_and_id", using: :btree
370
  add_index "ci_builds", ["protected"], name: "index_ci_builds_on_protected", using: :btree
D
Douwe Maan 已提交
371
  add_index "ci_builds", ["runner_id"], name: "index_ci_builds_on_runner_id", using: :btree
372
  add_index "ci_builds", ["scheduled_at"], name: "partial_index_ci_builds_on_scheduled_at_with_scheduled_jobs", where: "((scheduled_at IS NOT NULL) AND ((type)::text = 'Ci::Build'::text) AND ((status)::text = 'scheduled'::text))", using: :btree
373
  add_index "ci_builds", ["stage_id", "stage_idx"], name: "tmp_build_stage_position_index", where: "(stage_idx IS NOT NULL)", using: :btree
374
  add_index "ci_builds", ["stage_id"], name: "index_ci_builds_on_stage_id", using: :btree
375
  add_index "ci_builds", ["status", "type", "runner_id"], name: "index_ci_builds_on_status_and_type_and_runner_id", using: :btree
K
Kamil Trzcinski 已提交
376
  add_index "ci_builds", ["token"], name: "index_ci_builds_on_token", unique: true, using: :btree
B
blackst0ne 已提交
377
  add_index "ci_builds", ["updated_at"], name: "index_ci_builds_on_updated_at", using: :btree
B
blackst0ne 已提交
378
  add_index "ci_builds", ["user_id"], name: "index_ci_builds_on_user_id", using: :btree
D
Douwe Maan 已提交
379

380 381
  create_table "ci_builds_metadata", force: :cascade do |t|
    t.integer "build_id", null: false
382
    t.integer "project_id", null: false
T
Tomasz Maczukin 已提交
383
    t.integer "timeout"
384
    t.integer "timeout_source", default: 1, null: false
385 386
  end

387
  add_index "ci_builds_metadata", ["build_id"], name: "index_ci_builds_metadata_on_build_id", unique: true, using: :btree
388 389
  add_index "ci_builds_metadata", ["project_id"], name: "index_ci_builds_metadata_on_project_id", using: :btree

F
Francisco Javier López 已提交
390 391 392 393 394 395 396 397 398
  create_table "ci_builds_runner_session", id: :bigserial, force: :cascade do |t|
    t.integer "build_id", null: false
    t.string "url", null: false
    t.string "certificate"
    t.string "authorization"
  end

  add_index "ci_builds_runner_session", ["build_id"], name: "index_ci_builds_runner_session_on_build_id", unique: true, using: :btree

S
fix  
Shinya Maeda 已提交
399
  create_table "ci_group_variables", force: :cascade do |t|
400 401 402 403 404
    t.string "key", null: false
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
S
fix  
Shinya Maeda 已提交
405 406
    t.integer "group_id", null: false
    t.boolean "protected", default: false, null: false
407 408
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
409 410
  end

S
fix  
Shinya Maeda 已提交
411
  add_index "ci_group_variables", ["group_id", "key"], name: "index_ci_group_variables_on_group_id_and_key", unique: true, using: :btree
412

413 414
  create_table "ci_job_artifacts", force: :cascade do |t|
    t.integer "project_id", null: false
Z
Zeger-Jan van de Weg 已提交
415
    t.integer "job_id", null: false
416
    t.integer "file_type", null: false
417
    t.integer "file_store"
418
    t.integer "size", limit: 8
419 420
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
421
    t.datetime_with_timezone "expire_at"
422
    t.string "file"
423
    t.binary "file_sha256"
S
Shinya Maeda 已提交
424
    t.integer "file_format", limit: 2
S
Shinya Maeda 已提交
425
    t.integer "file_location", limit: 2
426 427
  end

428
  add_index "ci_job_artifacts", ["expire_at", "job_id"], name: "index_ci_job_artifacts_on_expire_at_and_job_id", using: :btree
429
  add_index "ci_job_artifacts", ["file_store"], name: "index_ci_job_artifacts_on_file_store", using: :btree
430
  add_index "ci_job_artifacts", ["job_id", "file_type"], name: "index_ci_job_artifacts_on_job_id_and_file_type", unique: true, using: :btree
431 432
  add_index "ci_job_artifacts", ["project_id"], name: "index_ci_job_artifacts_on_project_id", using: :btree

S
fix  
Shinya Maeda 已提交
433
  create_table "ci_pipeline_schedule_variables", force: :cascade do |t|
S
Shinya Maeda 已提交
434 435 436 437 438
    t.string "key", null: false
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
S
fix  
Shinya Maeda 已提交
439
    t.integer "pipeline_schedule_id", null: false
440 441
    t.datetime_with_timezone "created_at"
    t.datetime_with_timezone "updated_at"
S
Shinya Maeda 已提交
442 443
  end

S
fix  
Shinya Maeda 已提交
444
  add_index "ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], name: "index_ci_pipeline_schedule_variables_on_schedule_id_and_key", unique: true, using: :btree
S
Shinya Maeda 已提交
445

446 447 448 449 450 451 452 453 454
  create_table "ci_pipeline_schedules", force: :cascade do |t|
    t.string "description"
    t.string "ref"
    t.string "cron"
    t.string "cron_timezone"
    t.datetime "next_run_at"
    t.integer "project_id"
    t.integer "owner_id"
    t.boolean "active", default: true
D
Douwe Maan 已提交
455 456 457 458
    t.datetime "created_at"
    t.datetime "updated_at"
  end

459 460
  add_index "ci_pipeline_schedules", ["next_run_at", "active"], name: "index_ci_pipeline_schedules_on_next_run_at_and_active", using: :btree
  add_index "ci_pipeline_schedules", ["project_id"], name: "index_ci_pipeline_schedules_on_project_id", using: :btree
D
Douwe Maan 已提交
461

S
init  
Shinya Maeda 已提交
462 463 464 465 466 467 468 469 470 471 472
  create_table "ci_pipeline_variables", force: :cascade do |t|
    t.string "key", null: false
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
    t.integer "pipeline_id", null: false
  end

  add_index "ci_pipeline_variables", ["pipeline_id", "key"], name: "index_ci_pipeline_variables_on_pipeline_id_and_key", unique: true, using: :btree

K
Kamil Trzciński 已提交
473
  create_table "ci_pipelines", force: :cascade do |t|
474 475 476
    t.string "ref"
    t.string "sha"
    t.string "before_sha"
D
Douwe Maan 已提交
477 478
    t.datetime "created_at"
    t.datetime "updated_at"
479 480
    t.boolean "tag", default: false
    t.text "yaml_errors"
D
Douwe Maan 已提交
481
    t.datetime "committed_at"
K
Kamil Trzciński 已提交
482
    t.integer "project_id"
483
    t.string "status"
484 485
    t.datetime "started_at"
    t.datetime "finished_at"
486 487
    t.integer "duration"
    t.integer "user_id"
K
Kamil Trzcinski 已提交
488
    t.integer "lock_version"
489
    t.integer "auto_canceled_by_id"
490
    t.integer "pipeline_schedule_id"
491
    t.integer "source"
K
Kamil Trzcinski 已提交
492
    t.integer "config_source"
493
    t.boolean "protected"
494
    t.integer "failure_reason"
S
Shinya Maeda 已提交
495
    t.integer "iid"
D
Douwe Maan 已提交
496 497
  end

498
  add_index "ci_pipelines", ["auto_canceled_by_id"], name: "index_ci_pipelines_on_auto_canceled_by_id", using: :btree
499
  add_index "ci_pipelines", ["pipeline_schedule_id"], name: "index_ci_pipelines_on_pipeline_schedule_id", using: :btree
S
Shinya Maeda 已提交
500
  add_index "ci_pipelines", ["project_id", "iid"], name: "index_ci_pipelines_on_project_id_and_iid", unique: true, where: "(iid IS NOT NULL)", using: :btree
501
  add_index "ci_pipelines", ["project_id", "ref", "status", "id"], name: "index_ci_pipelines_on_project_id_and_ref_and_status_and_id", using: :btree
K
Kamil Trzciński 已提交
502
  add_index "ci_pipelines", ["project_id", "sha"], name: "index_ci_pipelines_on_project_id_and_sha", using: :btree
503
  add_index "ci_pipelines", ["project_id", "source"], name: "index_ci_pipelines_on_project_id_and_source", using: :btree
504
  add_index "ci_pipelines", ["project_id", "status", "config_source"], name: "index_ci_pipelines_on_project_id_and_status_and_config_source", using: :btree
K
Kamil Trzciński 已提交
505 506 507
  add_index "ci_pipelines", ["project_id"], name: "index_ci_pipelines_on_project_id", using: :btree
  add_index "ci_pipelines", ["status"], name: "index_ci_pipelines_on_status", using: :btree
  add_index "ci_pipelines", ["user_id"], name: "index_ci_pipelines_on_user_id", using: :btree
D
Douwe Maan 已提交
508

509
  create_table "ci_runner_namespaces", force: :cascade do |t|
A
Alexis Reigel 已提交
510
    t.integer "runner_id"
511
    t.integer "namespace_id"
A
Alexis Reigel 已提交
512 513
  end

514 515
  add_index "ci_runner_namespaces", ["namespace_id"], name: "index_ci_runner_namespaces_on_namespace_id", using: :btree
  add_index "ci_runner_namespaces", ["runner_id", "namespace_id"], name: "index_ci_runner_namespaces_on_runner_id_and_namespace_id", unique: true, using: :btree
A
Alexis Reigel 已提交
516

V
Valery Sizov 已提交
517
  create_table "ci_runner_projects", force: :cascade do |t|
518
    t.integer "runner_id", null: false
D
Douwe Maan 已提交
519 520
    t.datetime "created_at"
    t.datetime "updated_at"
K
Kamil Trzciński 已提交
521
    t.integer "project_id"
D
Douwe Maan 已提交
522 523
  end

K
Kamil Trzciński 已提交
524
  add_index "ci_runner_projects", ["project_id"], name: "index_ci_runner_projects_on_project_id", using: :btree
D
Douwe Maan 已提交
525 526
  add_index "ci_runner_projects", ["runner_id"], name: "index_ci_runner_projects_on_runner_id", using: :btree

V
Valery Sizov 已提交
527
  create_table "ci_runners", force: :cascade do |t|
528
    t.string "token"
D
Douwe Maan 已提交
529 530
    t.datetime "created_at"
    t.datetime "updated_at"
531
    t.string "description"
D
Douwe Maan 已提交
532
    t.datetime "contacted_at"
533 534 535 536 537 538 539 540 541
    t.boolean "active", default: true, null: false
    t.boolean "is_shared", default: false
    t.string "name"
    t.string "version"
    t.string "revision"
    t.string "platform"
    t.string "architecture"
    t.boolean "run_untagged", default: true, null: false
    t.boolean "locked", default: false, null: false
542
    t.integer "access_level", default: 0, null: false
543
    t.string "ip_address"
T
Tomasz Maczukin 已提交
544
    t.integer "maximum_timeout"
545
    t.integer "runner_type", limit: 2, null: false
D
Douwe Maan 已提交
546 547
  end

548
  add_index "ci_runners", ["contacted_at"], name: "index_ci_runners_on_contacted_at", using: :btree
549
  add_index "ci_runners", ["is_shared"], name: "index_ci_runners_on_is_shared", using: :btree
550
  add_index "ci_runners", ["locked"], name: "index_ci_runners_on_locked", using: :btree
551
  add_index "ci_runners", ["runner_type"], name: "index_ci_runners_on_runner_type", using: :btree
J
James Lopez 已提交
552
  add_index "ci_runners", ["token"], name: "index_ci_runners_on_token", using: :btree
553

554 555 556
  create_table "ci_stages", force: :cascade do |t|
    t.integer "project_id"
    t.integer "pipeline_id"
D
Douwe Maan 已提交
557 558
    t.datetime "created_at"
    t.datetime "updated_at"
559
    t.string "name"
560
    t.integer "status"
561
    t.integer "lock_version"
562
    t.integer "position"
D
Douwe Maan 已提交
563 564
  end

565
  add_index "ci_stages", ["pipeline_id", "name"], name: "index_ci_stages_on_pipeline_id_and_name", unique: true, using: :btree
566
  add_index "ci_stages", ["pipeline_id", "position"], name: "index_ci_stages_on_pipeline_id_and_position", using: :btree
567 568
  add_index "ci_stages", ["pipeline_id"], name: "index_ci_stages_on_pipeline_id", using: :btree
  add_index "ci_stages", ["project_id"], name: "index_ci_stages_on_project_id", using: :btree
569

V
Valery Sizov 已提交
570
  create_table "ci_trigger_requests", force: :cascade do |t|
571 572
    t.integer "trigger_id", null: false
    t.text "variables"
D
Douwe Maan 已提交
573 574
    t.datetime "created_at"
    t.datetime "updated_at"
575
    t.integer "commit_id"
D
Douwe Maan 已提交
576 577
  end

578 579
  add_index "ci_trigger_requests", ["commit_id"], name: "index_ci_trigger_requests_on_commit_id", using: :btree

V
Valery Sizov 已提交
580
  create_table "ci_triggers", force: :cascade do |t|
581
    t.string "token"
D
Douwe Maan 已提交
582 583
    t.datetime "created_at"
    t.datetime "updated_at"
K
Kamil Trzciński 已提交
584
    t.integer "project_id"
K
Kamil Trzcinski 已提交
585 586
    t.integer "owner_id"
    t.string "description"
S
Shinya Maeda 已提交
587
    t.string "ref"
D
Douwe Maan 已提交
588 589
  end

K
Kamil Trzciński 已提交
590
  add_index "ci_triggers", ["project_id"], name: "index_ci_triggers_on_project_id", using: :btree
D
Douwe Maan 已提交
591

V
Valery Sizov 已提交
592
  create_table "ci_variables", force: :cascade do |t|
593
    t.string "key", null: false
594 595 596 597
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
598
    t.integer "project_id", null: false
599
    t.boolean "protected", default: false, null: false
600
    t.string "environment_scope", default: "*", null: false
D
Douwe Maan 已提交
601 602
  end

603
  add_index "ci_variables", ["project_id", "key", "environment_scope"], name: "index_ci_variables_on_project_id_and_key_and_environment_scope", unique: true, using: :btree
D
Douwe Maan 已提交
604

T
Thong Kuah 已提交
605 606 607 608 609 610 611 612
  create_table "cluster_groups", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.integer "group_id", null: false
  end

  add_index "cluster_groups", ["cluster_id", "group_id"], name: "index_cluster_groups_on_cluster_id_and_group_id", unique: true, using: :btree
  add_index "cluster_groups", ["group_id"], name: "index_cluster_groups_on_group_id", using: :btree

S
Shinya Maeda 已提交
613 614
  create_table "cluster_platforms_kubernetes", force: :cascade do |t|
    t.integer "cluster_id", null: false
K
Kamil Trzcinski 已提交
615 616 617
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.text "api_url"
S
Shinya Maeda 已提交
618 619 620 621 622 623 624
    t.text "ca_cert"
    t.string "namespace"
    t.string "username"
    t.text "encrypted_password"
    t.string "encrypted_password_iv"
    t.text "encrypted_token"
    t.string "encrypted_token_iv"
625
    t.integer "authorization_type", limit: 2
S
Shinya Maeda 已提交
626 627 628 629 630 631 632
  end

  add_index "cluster_platforms_kubernetes", ["cluster_id"], name: "index_cluster_platforms_kubernetes_on_cluster_id", unique: true, using: :btree

  create_table "cluster_projects", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "cluster_id", null: false
633 634
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
S
Shinya Maeda 已提交
635 636 637 638 639 640 641 642
  end

  add_index "cluster_projects", ["cluster_id"], name: "index_cluster_projects_on_cluster_id", using: :btree
  add_index "cluster_projects", ["project_id"], name: "index_cluster_projects_on_project_id", using: :btree

  create_table "cluster_providers_gcp", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.integer "status"
K
Kamil Trzcinski 已提交
643 644 645
    t.integer "num_nodes", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
S
Shinya Maeda 已提交
646 647 648 649 650 651 652 653
    t.text "status_reason"
    t.string "gcp_project_id", null: false
    t.string "zone", null: false
    t.string "machine_type"
    t.string "operation_id"
    t.string "endpoint"
    t.text "encrypted_access_token"
    t.string "encrypted_access_token_iv"
654
    t.boolean "legacy_abac", default: true, null: false
S
Shinya Maeda 已提交
655 656 657 658 659
  end

  add_index "cluster_providers_gcp", ["cluster_id"], name: "index_cluster_providers_gcp_on_cluster_id", unique: true, using: :btree

  create_table "clusters", force: :cascade do |t|
660
    t.integer "user_id"
K
Kamil Trzcinski 已提交
661 662 663 664
    t.integer "provider_type"
    t.integer "platform_type"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
665 666
    t.boolean "enabled", default: true
    t.string "name", null: false
667
    t.string "environment_scope", default: "*", null: false
T
Thong Kuah 已提交
668
    t.integer "cluster_type", limit: 2, default: 3, null: false
S
Shinya Maeda 已提交
669 670
  end

A
Alessio Caiazza 已提交
671 672 673
  add_index "clusters", ["enabled"], name: "index_clusters_on_enabled", using: :btree
  add_index "clusters", ["user_id"], name: "index_clusters_on_user_id", using: :btree

674 675 676 677 678 679 680
  create_table "clusters_applications_helm", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "status", null: false
    t.string "version", null: false
    t.text "status_reason"
681 682 683
    t.text "encrypted_ca_key"
    t.text "encrypted_ca_key_iv"
    t.text "ca_cert"
684
  end
685

K
Kamil Trzcinski 已提交
686 687 688 689 690 691 692 693 694
  create_table "clusters_applications_ingress", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "status", null: false
    t.integer "ingress_type", null: false
    t.string "version", null: false
    t.string "cluster_ip"
    t.text "status_reason"
695
    t.string "external_ip"
K
Kamil Trzcinski 已提交
696 697
  end

698
  create_table "clusters_applications_jupyter", force: :cascade do |t|
699
    t.integer "cluster_id", null: false
700
    t.integer "oauth_application_id"
701 702 703 704 705
    t.integer "status", null: false
    t.string "version", null: false
    t.string "hostname"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
706
    t.text "status_reason"
707 708
  end

C
Chris Baumbauer 已提交
709 710 711 712 713 714
  create_table "clusters_applications_knative", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "status", null: false
    t.string "version", null: false
715
    t.string "hostname"
C
Chris Baumbauer 已提交
716 717 718
    t.text "status_reason"
  end

719 720 721 722 723 724 725 726 727
  create_table "clusters_applications_prometheus", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.integer "status", null: false
    t.string "version", null: false
    t.text "status_reason"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
  end

728 729 730 731 732 733 734 735
  create_table "clusters_applications_runners", force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.integer "runner_id"
    t.integer "status", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.string "version", null: false
    t.text "status_reason"
736
    t.boolean "privileged", default: true, null: false
737 738 739 740 741
  end

  add_index "clusters_applications_runners", ["cluster_id"], name: "index_clusters_applications_runners_on_cluster_id", unique: true, using: :btree
  add_index "clusters_applications_runners", ["runner_id"], name: "index_clusters_applications_runners_on_runner_id", using: :btree

742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758
  create_table "clusters_kubernetes_namespaces", id: :bigserial, force: :cascade do |t|
    t.integer "cluster_id", null: false
    t.integer "project_id"
    t.integer "cluster_project_id"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.text "encrypted_service_account_token"
    t.string "encrypted_service_account_token_iv"
    t.string "namespace", null: false
    t.string "service_account_name"
  end

  add_index "clusters_kubernetes_namespaces", ["cluster_id", "namespace"], name: "kubernetes_namespaces_cluster_and_namespace", unique: true, using: :btree
  add_index "clusters_kubernetes_namespaces", ["cluster_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_id", using: :btree
  add_index "clusters_kubernetes_namespaces", ["cluster_project_id"], name: "index_clusters_kubernetes_namespaces_on_cluster_project_id", using: :btree
  add_index "clusters_kubernetes_namespaces", ["project_id"], name: "index_clusters_kubernetes_namespaces_on_project_id", using: :btree

759
  create_table "container_repositories", force: :cascade do |t|
760 761 762 763
    t.integer "project_id", null: false
    t.string "name", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
A
Andre Guedes 已提交
764 765
  end

766 767 768
  add_index "container_repositories", ["project_id", "name"], name: "index_container_repositories_on_project_id_and_name", unique: true, using: :btree
  add_index "container_repositories", ["project_id"], name: "index_container_repositories_on_project_id", using: :btree

769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791
  create_table "conversational_development_index_metrics", force: :cascade do |t|
    t.float "leader_issues", null: false
    t.float "instance_issues", null: false
    t.float "leader_notes", null: false
    t.float "instance_notes", null: false
    t.float "leader_milestones", null: false
    t.float "instance_milestones", null: false
    t.float "leader_boards", null: false
    t.float "instance_boards", null: false
    t.float "leader_merge_requests", null: false
    t.float "instance_merge_requests", null: false
    t.float "leader_ci_pipelines", null: false
    t.float "instance_ci_pipelines", null: false
    t.float "leader_environments", null: false
    t.float "instance_environments", null: false
    t.float "leader_deployments", null: false
    t.float "instance_deployments", null: false
    t.float "leader_projects_prometheus_active", null: false
    t.float "instance_projects_prometheus_active", null: false
    t.float "leader_service_desk_issues", null: false
    t.float "instance_service_desk_issues", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
792 793 794 795 796 797 798 799 800 801
    t.float "percentage_boards", default: 0.0, null: false
    t.float "percentage_ci_pipelines", default: 0.0, null: false
    t.float "percentage_deployments", default: 0.0, null: false
    t.float "percentage_environments", default: 0.0, null: false
    t.float "percentage_issues", default: 0.0, null: false
    t.float "percentage_merge_requests", default: 0.0, null: false
    t.float "percentage_milestones", default: 0.0, null: false
    t.float "percentage_notes", default: 0.0, null: false
    t.float "percentage_projects_prometheus_active", default: 0.0, null: false
    t.float "percentage_service_desk_issues", default: 0.0, null: false
802
  end
D
Douwe Maan 已提交
803

V
Valery Sizov 已提交
804
  create_table "deploy_keys_projects", force: :cascade do |t|
805 806
    t.integer "deploy_key_id", null: false
    t.integer "project_id", null: false
807 808
    t.datetime "created_at"
    t.datetime "updated_at"
809
    t.boolean "can_push", default: false, null: false
810
  end
811

D
Dmitriy Zaporozhets 已提交
812
  add_index "deploy_keys_projects", ["project_id"], name: "index_deploy_keys_projects_on_project_id", using: :btree
D
Dmitriy Zaporozhets 已提交
813

M
Mayra Cabrera 已提交
814 815
  create_table "deploy_tokens", force: :cascade do |t|
    t.boolean "revoked", default: false
K
Kamil Trzciński 已提交
816 817
    t.boolean "read_repository", default: false, null: false
    t.boolean "read_registry", default: false, null: false
818
    t.datetime_with_timezone "expires_at", null: false
M
Mayra Cabrera 已提交
819
    t.datetime_with_timezone "created_at", null: false
K
Kamil Trzciński 已提交
820 821
    t.string "name", null: false
    t.string "token", null: false
M
Mayra Cabrera 已提交
822 823
  end

824
  add_index "deploy_tokens", ["token", "expires_at", "id"], name: "index_deploy_tokens_on_token_and_expires_at_and_id", where: "(revoked IS FALSE)", using: :btree
M
Mayra Cabrera 已提交
825 826
  add_index "deploy_tokens", ["token"], name: "index_deploy_tokens_on_token", unique: true, using: :btree

827
  create_table "deployments", force: :cascade do |t|
V
Valery Sizov 已提交
828 829 830 831 832 833
    t.integer "iid", null: false
    t.integer "project_id", null: false
    t.integer "environment_id", null: false
    t.string "ref", null: false
    t.boolean "tag", null: false
    t.string "sha", null: false
834
    t.integer "user_id"
V
Valery Sizov 已提交
835 836
    t.integer "deployable_id"
    t.string "deployable_type"
837 838
    t.datetime "created_at"
    t.datetime "updated_at"
K
Kamil Trzcinski 已提交
839
    t.string "on_stop"
S
Shinya Maeda 已提交
840 841
    t.integer "status", limit: 2, default: 2, null: false
    t.datetime_with_timezone "finished_at"
842 843
  end

844
  add_index "deployments", ["created_at"], name: "index_deployments_on_created_at", using: :btree
845
  add_index "deployments", ["deployable_type", "deployable_id"], name: "index_deployments_on_deployable_type_and_deployable_id", using: :btree
846 847
  add_index "deployments", ["environment_id", "id"], name: "index_deployments_on_environment_id_and_id", using: :btree
  add_index "deployments", ["environment_id", "iid", "project_id"], name: "index_deployments_on_environment_id_and_iid_and_project_id", using: :btree
S
Shinya Maeda 已提交
848 849
  add_index "deployments", ["environment_id", "status"], name: "index_deployments_on_environment_id_and_status", using: :btree
  add_index "deployments", ["id"], name: "partial_index_deployments_for_legacy_successful_deployments", where: "((finished_at IS NULL) AND (status = 2))", using: :btree
850
  add_index "deployments", ["project_id", "iid"], name: "index_deployments_on_project_id_and_iid", unique: true, using: :btree
S
Shinya Maeda 已提交
851
  add_index "deployments", ["project_id", "status", "created_at"], name: "index_deployments_on_project_id_and_status_and_created_at", using: :btree
S
Shinya Maeda 已提交
852
  add_index "deployments", ["project_id", "status"], name: "index_deployments_on_project_id_and_status", using: :btree
853

V
Valery Sizov 已提交
854
  create_table "emails", force: :cascade do |t|
855 856
    t.integer "user_id", null: false
    t.string "email", null: false
857 858
    t.datetime "created_at"
    t.datetime "updated_at"
859
    t.string "confirmation_token"
860 861
    t.datetime_with_timezone "confirmed_at"
    t.datetime_with_timezone "confirmation_sent_at"
862 863
  end

864
  add_index "emails", ["confirmation_token"], name: "index_emails_on_confirmation_token", unique: true, using: :btree
865 866 867
  add_index "emails", ["email"], name: "index_emails_on_email", unique: true, using: :btree
  add_index "emails", ["user_id"], name: "index_emails_on_user_id", using: :btree

868
  create_table "environments", force: :cascade do |t|
869
    t.integer "project_id", null: false
870
    t.string "name", null: false
871 872
    t.datetime "created_at"
    t.datetime "updated_at"
873 874
    t.string "external_url"
    t.string "environment_type"
875
    t.string "state", default: "available", null: false
N
Nick Thomas 已提交
876
    t.string "slug", null: false
877 878
  end

879
  add_index "environments", ["project_id", "name"], name: "index_environments_on_project_id_and_name", unique: true, using: :btree
N
Nick Thomas 已提交
880
  add_index "environments", ["project_id", "slug"], name: "index_environments_on_project_id_and_slug", unique: true, using: :btree
881

V
Valery Sizov 已提交
882
  create_table "events", force: :cascade do |t|
883 884 885
    t.integer "project_id"
    t.integer "author_id", null: false
    t.integer "target_id"
886 887
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
888 889 890 891
    t.integer "action", limit: 2, null: false
    t.string "target_type"
  end

892
  add_index "events", ["action"], name: "index_events_on_action", using: :btree
A
Andreas Brandl 已提交
893
  add_index "events", ["author_id", "project_id"], name: "index_events_on_author_id_and_project_id", using: :btree
894 895
  add_index "events", ["project_id", "id"], name: "index_events_on_project_id_and_id", using: :btree
  add_index "events", ["target_type", "target_id"], name: "index_events_on_target_type_and_target_id", using: :btree
896

897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914
  create_table "feature_gates", force: :cascade do |t|
    t.string "feature_key", null: false
    t.string "key", null: false
    t.string "value"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  add_index "feature_gates", ["feature_key", "key", "value"], name: "index_feature_gates_on_feature_key_and_key_and_value", unique: true, using: :btree

  create_table "features", force: :cascade do |t|
    t.string "key", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  add_index "features", ["key"], name: "index_features_on_key", unique: true, using: :btree

915 916 917 918 919 920 921 922 923
  create_table "fork_network_members", force: :cascade do |t|
    t.integer "fork_network_id", null: false
    t.integer "project_id", null: false
    t.integer "forked_from_project_id"
  end

  add_index "fork_network_members", ["fork_network_id"], name: "index_fork_network_members_on_fork_network_id", using: :btree
  add_index "fork_network_members", ["project_id"], name: "index_fork_network_members_on_project_id", unique: true, using: :btree

B
Bob Van Landuyt 已提交
924 925 926 927 928 929 930
  create_table "fork_networks", force: :cascade do |t|
    t.integer "root_project_id"
    t.string "deleted_root_project_name"
  end

  add_index "fork_networks", ["root_project_id"], name: "index_fork_networks_on_root_project_id", unique: true, using: :btree

V
Valery Sizov 已提交
931
  create_table "forked_project_links", force: :cascade do |t|
932 933
    t.integer "forked_to_project_id", null: false
    t.integer "forked_from_project_id", null: false
934 935
    t.datetime "created_at"
    t.datetime "updated_at"
936 937
  end

D
Dmitriy Zaporozhets 已提交
938
  add_index "forked_project_links", ["forked_to_project_id"], name: "index_forked_project_links_on_forked_to_project_id", unique: true, using: :btree
939

S
Shinya Maeda 已提交
940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968
  create_table "gcp_clusters", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "user_id"
    t.integer "service_id"
    t.integer "status"
    t.integer "gcp_cluster_size", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.boolean "enabled", default: true
    t.text "status_reason"
    t.string "project_namespace"
    t.string "endpoint"
    t.text "ca_cert"
    t.text "encrypted_kubernetes_token"
    t.string "encrypted_kubernetes_token_iv"
    t.string "username"
    t.text "encrypted_password"
    t.string "encrypted_password_iv"
    t.string "gcp_project_id", null: false
    t.string "gcp_cluster_zone", null: false
    t.string "gcp_cluster_name", null: false
    t.string "gcp_machine_type"
    t.string "gcp_operation_id"
    t.text "encrypted_gcp_token"
    t.string "encrypted_gcp_token_iv"
  end

  add_index "gcp_clusters", ["project_id"], name: "index_gcp_clusters_on_project_id", unique: true, using: :btree

969
  create_table "gpg_key_subkeys", force: :cascade do |t|
970
    t.integer "gpg_key_id", null: false
971 972 973 974
    t.binary "keyid"
    t.binary "fingerprint"
  end

975
  add_index "gpg_key_subkeys", ["fingerprint"], name: "index_gpg_key_subkeys_on_fingerprint", unique: true, using: :btree
976
  add_index "gpg_key_subkeys", ["gpg_key_id"], name: "index_gpg_key_subkeys_on_gpg_key_id", using: :btree
977
  add_index "gpg_key_subkeys", ["keyid"], name: "index_gpg_key_subkeys_on_keyid", unique: true, using: :btree
978

A
Alexis Reigel 已提交
979
  create_table "gpg_keys", force: :cascade do |t|
980 981
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
982
    t.integer "user_id"
983 984
    t.binary "primary_keyid"
    t.binary "fingerprint"
985
    t.text "key"
A
Alexis Reigel 已提交
986 987
  end

A
Alexis Reigel 已提交
988 989
  add_index "gpg_keys", ["fingerprint"], name: "index_gpg_keys_on_fingerprint", unique: true, using: :btree
  add_index "gpg_keys", ["primary_keyid"], name: "index_gpg_keys_on_primary_keyid", unique: true, using: :btree
A
Alexis Reigel 已提交
990 991
  add_index "gpg_keys", ["user_id"], name: "index_gpg_keys_on_user_id", using: :btree

992
  create_table "gpg_signatures", force: :cascade do |t|
993 994
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
995 996
    t.integer "project_id"
    t.integer "gpg_key_id"
997 998
    t.binary "commit_sha"
    t.binary "gpg_key_primary_keyid"
999 1000
    t.text "gpg_key_user_name"
    t.text "gpg_key_user_email"
1001
    t.integer "verification_status", limit: 2, default: 0, null: false
1002
    t.integer "gpg_key_subkey_id"
1003 1004
  end

1005
  add_index "gpg_signatures", ["commit_sha"], name: "index_gpg_signatures_on_commit_sha", unique: true, using: :btree
1006 1007
  add_index "gpg_signatures", ["gpg_key_id"], name: "index_gpg_signatures_on_gpg_key_id", using: :btree
  add_index "gpg_signatures", ["gpg_key_primary_keyid"], name: "index_gpg_signatures_on_gpg_key_primary_keyid", using: :btree
1008
  add_index "gpg_signatures", ["gpg_key_subkey_id"], name: "index_gpg_signatures_on_gpg_key_subkey_id", using: :btree
1009 1010
  add_index "gpg_signatures", ["project_id"], name: "index_gpg_signatures_on_project_id", using: :btree

1011
  create_table "group_custom_attributes", force: :cascade do |t|
1012 1013
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1014 1015 1016 1017 1018 1019 1020 1021
    t.integer "group_id", null: false
    t.string "key", null: false
    t.string "value", null: false
  end

  add_index "group_custom_attributes", ["group_id", "key"], name: "index_group_custom_attributes_on_group_id_and_key", unique: true, using: :btree
  add_index "group_custom_attributes", ["key", "value"], name: "index_group_custom_attributes_on_key_and_value", using: :btree

V
Valery Sizov 已提交
1022
  create_table "identities", force: :cascade do |t|
1023 1024 1025
    t.string "extern_uid"
    t.string "provider"
    t.integer "user_id"
D
Dmitriy Zaporozhets 已提交
1026 1027
    t.datetime "created_at"
    t.datetime "updated_at"
1028 1029 1030 1031
  end

  add_index "identities", ["user_id"], name: "index_identities_on_user_id", using: :btree

1032 1033 1034 1035 1036 1037 1038 1039 1040 1041
  create_table "import_export_uploads", force: :cascade do |t|
    t.datetime_with_timezone "updated_at", null: false
    t.integer "project_id"
    t.text "import_file"
    t.text "export_file"
  end

  add_index "import_export_uploads", ["project_id"], name: "index_import_export_uploads_on_project_id", using: :btree
  add_index "import_export_uploads", ["updated_at"], name: "index_import_export_uploads_on_updated_at", using: :btree

1042
  create_table "internal_ids", id: :bigserial, force: :cascade do |t|
1043
    t.integer "project_id"
1044 1045
    t.integer "usage", null: false
    t.integer "last_value", null: false
1046
    t.integer "namespace_id"
1047 1048
  end

1049 1050
  add_index "internal_ids", ["usage", "namespace_id"], name: "index_internal_ids_on_usage_and_namespace_id", unique: true, where: "(namespace_id IS NOT NULL)", using: :btree
  add_index "internal_ids", ["usage", "project_id"], name: "index_internal_ids_on_usage_and_project_id", unique: true, where: "(project_id IS NOT NULL)", using: :btree
1051

1052
  create_table "issue_assignees", id: false, force: :cascade do |t|
1053 1054 1055 1056 1057 1058 1059
    t.integer "user_id", null: false
    t.integer "issue_id", null: false
  end

  add_index "issue_assignees", ["issue_id", "user_id"], name: "index_issue_assignees_on_issue_id_and_user_id", unique: true, using: :btree
  add_index "issue_assignees", ["user_id"], name: "index_issue_assignees_on_user_id", using: :btree

T
Timothy Andrew 已提交
1060
  create_table "issue_metrics", force: :cascade do |t|
1061
    t.integer "issue_id", null: false
1062
    t.datetime "first_mentioned_in_commit_at"
T
Timothy Andrew 已提交
1063 1064
    t.datetime "first_associated_with_milestone_at"
    t.datetime "first_added_to_board_at"
1065 1066
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
T
Timothy Andrew 已提交
1067 1068 1069 1070
  end

  add_index "issue_metrics", ["issue_id"], name: "index_issue_metrics", using: :btree

V
Valery Sizov 已提交
1071
  create_table "issues", force: :cascade do |t|
1072 1073 1074
    t.string "title"
    t.integer "author_id"
    t.integer "project_id"
1075 1076
    t.datetime "created_at"
    t.datetime "updated_at"
1077 1078 1079 1080 1081
    t.text "description"
    t.integer "milestone_id"
    t.string "state"
    t.integer "iid"
    t.integer "updated_by_id"
1082
    t.boolean "confidential", default: false, null: false
1083 1084 1085 1086 1087
    t.date "due_date"
    t.integer "moved_to_id"
    t.integer "lock_version"
    t.text "title_html"
    t.text "description_html"
1088
    t.integer "time_estimate"
1089
    t.integer "relative_position"
1090
    t.integer "cached_markdown_version"
1091 1092
    t.datetime "last_edited_at"
    t.integer "last_edited_by_id"
1093
    t.boolean "discussion_locked"
1094
    t.datetime_with_timezone "closed_at"
H
haseeb 已提交
1095
    t.integer "closed_by_id"
A
Andrew8xx8 已提交
1096 1097
  end

D
Dmitriy Zaporozhets 已提交
1098
  add_index "issues", ["author_id"], name: "index_issues_on_author_id", using: :btree
1099
  add_index "issues", ["confidential"], name: "index_issues_on_confidential", using: :btree
1100
  add_index "issues", ["description"], name: "index_issues_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1101
  add_index "issues", ["milestone_id"], name: "index_issues_on_milestone_id", using: :btree
1102
  add_index "issues", ["moved_to_id"], name: "index_issues_on_moved_to_id", where: "(moved_to_id IS NOT NULL)", using: :btree
1103
  add_index "issues", ["project_id", "created_at", "id", "state"], name: "index_issues_on_project_id_and_created_at_and_id_and_state", using: :btree
1104
  add_index "issues", ["project_id", "due_date", "id", "state"], name: "idx_issues_on_project_id_and_due_date_and_id_and_state_partial", where: "(due_date IS NOT NULL)", using: :btree
1105
  add_index "issues", ["project_id", "iid"], name: "index_issues_on_project_id_and_iid", unique: true, using: :btree
1106
  add_index "issues", ["project_id", "updated_at", "id", "state"], name: "index_issues_on_project_id_and_updated_at_and_id_and_state", using: :btree
1107
  add_index "issues", ["relative_position"], name: "index_issues_on_relative_position", using: :btree
1108
  add_index "issues", ["state"], name: "index_issues_on_state", using: :btree
1109
  add_index "issues", ["title"], name: "index_issues_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
1110
  add_index "issues", ["updated_at"], name: "index_issues_on_updated_at", using: :btree
1111
  add_index "issues", ["updated_by_id"], name: "index_issues_on_updated_by_id", where: "(updated_by_id IS NOT NULL)", using: :btree
A
Andrew8xx8 已提交
1112

V
Valery Sizov 已提交
1113
  create_table "keys", force: :cascade do |t|
1114
    t.integer "user_id"
1115 1116
    t.datetime "created_at"
    t.datetime "updated_at"
1117 1118 1119 1120 1121
    t.text "key"
    t.string "title"
    t.string "type"
    t.string "fingerprint"
    t.boolean "public", default: false, null: false
1122
    t.datetime "last_used_at"
A
Andrew8xx8 已提交
1123 1124
  end

1125
  add_index "keys", ["fingerprint"], name: "index_keys_on_fingerprint", unique: true, using: :btree
D
Dmitriy Zaporozhets 已提交
1126
  add_index "keys", ["user_id"], name: "index_keys_on_user_id", using: :btree
A
Andrew8xx8 已提交
1127

V
Valery Sizov 已提交
1128
  create_table "label_links", force: :cascade do |t|
1129 1130 1131
    t.integer "label_id"
    t.integer "target_id"
    t.string "target_type"
1132 1133 1134 1135
    t.datetime "created_at"
    t.datetime "updated_at"
  end

D
Dmitriy Zaporozhets 已提交
1136 1137 1138
  add_index "label_links", ["label_id"], name: "index_label_links_on_label_id", using: :btree
  add_index "label_links", ["target_id", "target_type"], name: "index_label_links_on_target_id_and_target_type", using: :btree

1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
  create_table "label_priorities", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "label_id", null: false
    t.integer "priority", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  add_index "label_priorities", ["priority"], name: "index_label_priorities_on_priority", using: :btree
  add_index "label_priorities", ["project_id", "label_id"], name: "index_label_priorities_on_project_id_and_label_id", unique: true, using: :btree

V
Valery Sizov 已提交
1150
  create_table "labels", force: :cascade do |t|
1151 1152 1153
    t.string "title"
    t.string "color"
    t.integer "project_id"
1154 1155
    t.datetime "created_at"
    t.datetime "updated_at"
1156 1157 1158
    t.boolean "template", default: false
    t.string "description"
    t.text "description_html"
D
Douglas Barbosa Alexandre 已提交
1159 1160
    t.string "type"
    t.integer "group_id"
1161
    t.integer "cached_markdown_version"
1162 1163
  end

1164
  add_index "labels", ["group_id", "project_id", "title"], name: "index_labels_on_group_id_and_project_id_and_title", unique: true, using: :btree
D
Dmitriy Zaporozhets 已提交
1165
  add_index "labels", ["project_id"], name: "index_labels_on_project_id", using: :btree
1166
  add_index "labels", ["template"], name: "index_labels_on_template", where: "template", using: :btree
A
Ahmad Sherif 已提交
1167
  add_index "labels", ["title"], name: "index_labels_on_title", using: :btree
1168
  add_index "labels", ["type", "project_id"], name: "index_labels_on_type_and_project_id", using: :btree
D
Dmitriy Zaporozhets 已提交
1169

1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
  create_table "lfs_file_locks", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "user_id", null: false
    t.datetime "created_at", null: false
    t.string "path", limit: 511
  end

  add_index "lfs_file_locks", ["project_id", "path"], name: "index_lfs_file_locks_on_project_id_and_path", unique: true, using: :btree
  add_index "lfs_file_locks", ["user_id"], name: "index_lfs_file_locks_on_user_id", using: :btree

V
Valery Sizov 已提交
1180
  create_table "lfs_objects", force: :cascade do |t|
1181 1182
    t.string "oid", null: false
    t.integer "size", limit: 8, null: false
M
Marin Jankovski 已提交
1183 1184
    t.datetime "created_at"
    t.datetime "updated_at"
1185
    t.string "file"
1186
    t.integer "file_store"
M
Marin Jankovski 已提交
1187 1188
  end

1189
  add_index "lfs_objects", ["file_store"], name: "index_lfs_objects_on_file_store", using: :btree
1190
  add_index "lfs_objects", ["oid"], name: "index_lfs_objects_on_oid", unique: true, using: :btree
M
Marin Jankovski 已提交
1191

V
Valery Sizov 已提交
1192
  create_table "lfs_objects_projects", force: :cascade do |t|
1193 1194
    t.integer "lfs_object_id", null: false
    t.integer "project_id", null: false
M
Marin Jankovski 已提交
1195 1196 1197 1198 1199 1200
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "lfs_objects_projects", ["project_id"], name: "index_lfs_objects_projects_on_project_id", using: :btree

D
Douglas Barbosa Alexandre 已提交
1201
  create_table "lists", force: :cascade do |t|
1202 1203 1204 1205 1206 1207
    t.integer "board_id", null: false
    t.integer "label_id"
    t.integer "list_type", default: 1, null: false
    t.integer "position"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
D
Douglas Barbosa Alexandre 已提交
1208 1209
  end

1210
  add_index "lists", ["board_id", "label_id"], name: "index_lists_on_board_id_and_label_id", unique: true, using: :btree
D
Douglas Barbosa Alexandre 已提交
1211
  add_index "lists", ["label_id"], name: "index_lists_on_label_id", using: :btree
1212
  add_index "lists", ["list_type"], name: "index_lists_on_list_type", using: :btree
D
Douglas Barbosa Alexandre 已提交
1213

V
Valery Sizov 已提交
1214
  create_table "members", force: :cascade do |t|
1215 1216 1217 1218 1219 1220
    t.integer "access_level", null: false
    t.integer "source_id", null: false
    t.string "source_type", null: false
    t.integer "user_id"
    t.integer "notification_level", null: false
    t.string "type"
1221 1222
    t.datetime "created_at"
    t.datetime "updated_at"
1223 1224 1225
    t.integer "created_by_id"
    t.string "invite_email"
    t.string "invite_token"
D
Douwe Maan 已提交
1226
    t.datetime "invite_accepted_at"
R
Rémy Coutable 已提交
1227
    t.datetime "requested_at"
1228
    t.date "expires_at"
1229 1230
  end

1231
  add_index "members", ["access_level"], name: "index_members_on_access_level", using: :btree
D
Douwe Maan 已提交
1232
  add_index "members", ["invite_token"], name: "index_members_on_invite_token", unique: true, using: :btree
1233
  add_index "members", ["requested_at"], name: "index_members_on_requested_at", using: :btree
1234 1235 1236
  add_index "members", ["source_id", "source_type"], name: "index_members_on_source_id_and_source_type", using: :btree
  add_index "members", ["user_id"], name: "index_members_on_user_id", using: :btree

1237
  create_table "merge_request_diff_commits", id: false, force: :cascade do |t|
1238 1239
    t.datetime_with_timezone "authored_date"
    t.datetime_with_timezone "committed_date"
1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250
    t.integer "merge_request_diff_id", null: false
    t.integer "relative_order", null: false
    t.binary "sha", null: false
    t.text "author_name"
    t.text "author_email"
    t.text "committer_name"
    t.text "committer_email"
    t.text "message"
  end

  add_index "merge_request_diff_commits", ["merge_request_diff_id", "relative_order"], name: "index_merge_request_diff_commits_on_mr_diff_id_and_order", unique: true, using: :btree
1251
  add_index "merge_request_diff_commits", ["sha"], name: "index_merge_request_diff_commits_on_sha", using: :btree
1252

1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264
  create_table "merge_request_diff_files", id: false, force: :cascade do |t|
    t.integer "merge_request_diff_id", null: false
    t.integer "relative_order", null: false
    t.boolean "new_file", null: false
    t.boolean "renamed_file", null: false
    t.boolean "deleted_file", null: false
    t.boolean "too_large", null: false
    t.string "a_mode", null: false
    t.string "b_mode", null: false
    t.text "new_path", null: false
    t.text "old_path", null: false
    t.text "diff", null: false
1265
    t.boolean "binary"
1266 1267 1268 1269
  end

  add_index "merge_request_diff_files", ["merge_request_diff_id", "relative_order"], name: "index_merge_request_diff_files_on_mr_diff_id_and_order", unique: true, using: :btree

V
Valery Sizov 已提交
1270
  create_table "merge_request_diffs", force: :cascade do |t|
1271 1272
    t.string "state"
    t.integer "merge_request_id", null: false
1273 1274
    t.datetime "created_at"
    t.datetime "updated_at"
1275 1276 1277 1278
    t.string "base_commit_sha"
    t.string "real_size"
    t.string "head_commit_sha"
    t.string "start_commit_sha"
1279
    t.integer "commits_count"
1280 1281
  end

1282
  add_index "merge_request_diffs", ["merge_request_id", "id"], name: "index_merge_request_diffs_on_merge_request_id_and_id", using: :btree
1283

1284
  create_table "merge_request_metrics", force: :cascade do |t|
1285
    t.integer "merge_request_id", null: false
1286 1287
    t.datetime "latest_build_started_at"
    t.datetime "latest_build_finished_at"
T
Timothy Andrew 已提交
1288 1289
    t.datetime "first_deployed_to_production_at"
    t.datetime "merged_at"
1290 1291
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1292
    t.integer "pipeline_id"
1293 1294 1295
    t.integer "merged_by_id"
    t.integer "latest_closed_by_id"
    t.datetime_with_timezone "latest_closed_at"
1296 1297
  end

1298
  add_index "merge_request_metrics", ["first_deployed_to_production_at"], name: "index_merge_request_metrics_on_first_deployed_to_production_at", using: :btree
1299
  add_index "merge_request_metrics", ["merge_request_id"], name: "index_merge_request_metrics", using: :btree
1300
  add_index "merge_request_metrics", ["pipeline_id"], name: "index_merge_request_metrics_on_pipeline_id", using: :btree
1301

V
Valery Sizov 已提交
1302
  create_table "merge_requests", force: :cascade do |t|
1303 1304
    t.string "target_branch", null: false
    t.string "source_branch", null: false
1305
    t.integer "source_project_id"
1306 1307 1308
    t.integer "author_id"
    t.integer "assignee_id"
    t.string "title"
1309 1310
    t.datetime "created_at"
    t.datetime "updated_at"
1311
    t.integer "milestone_id"
1312 1313
    t.string "state", default: "opened", null: false
    t.string "merge_status", default: "unchecked", null: false
1314 1315 1316 1317 1318 1319
    t.integer "target_project_id", null: false
    t.integer "iid"
    t.text "description"
    t.integer "updated_by_id"
    t.text "merge_error"
    t.text "merge_params"
J
James Lopez 已提交
1320
    t.boolean "merge_when_pipeline_succeeds", default: false, null: false
1321 1322
    t.integer "merge_user_id"
    t.string "merge_commit_sha"
1323
    t.string "in_progress_merge_commit_sha"
V
Valery Sizov 已提交
1324
    t.integer "lock_version"
1325 1326
    t.text "title_html"
    t.text "description_html"
1327
    t.integer "time_estimate"
1328
    t.integer "cached_markdown_version"
1329 1330
    t.datetime "last_edited_at"
    t.integer "last_edited_by_id"
1331
    t.integer "head_pipeline_id"
1332
    t.string "merge_jid"
1333
    t.boolean "discussion_locked"
1334
    t.integer "latest_merge_request_diff_id"
1335
    t.string "rebase_commit_sha"
1336
    t.boolean "squash", default: false, null: false
1337
    t.boolean "allow_maintainer_to_push"
A
Andrew8xx8 已提交
1338
  end
T
tiagonbotelho 已提交
1339

D
Dmitriy Zaporozhets 已提交
1340 1341 1342
  add_index "merge_requests", ["assignee_id"], name: "index_merge_requests_on_assignee_id", using: :btree
  add_index "merge_requests", ["author_id"], name: "index_merge_requests_on_author_id", using: :btree
  add_index "merge_requests", ["created_at"], name: "index_merge_requests_on_created_at", using: :btree
1343
  add_index "merge_requests", ["description"], name: "index_merge_requests_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
K
Kamil Trzcinski 已提交
1344
  add_index "merge_requests", ["head_pipeline_id"], name: "index_merge_requests_on_head_pipeline_id", using: :btree
1345
  add_index "merge_requests", ["id", "merge_jid"], name: "index_merge_requests_on_id_and_merge_jid", where: "((merge_jid IS NOT NULL) AND ((state)::text = 'locked'::text))", using: :btree
1346
  add_index "merge_requests", ["latest_merge_request_diff_id"], name: "index_merge_requests_on_latest_merge_request_diff_id", using: :btree
1347
  add_index "merge_requests", ["merge_user_id"], name: "index_merge_requests_on_merge_user_id", where: "(merge_user_id IS NOT NULL)", using: :btree
D
Dmitriy Zaporozhets 已提交
1348 1349
  add_index "merge_requests", ["milestone_id"], name: "index_merge_requests_on_milestone_id", using: :btree
  add_index "merge_requests", ["source_branch"], name: "index_merge_requests_on_source_branch", using: :btree
1350
  add_index "merge_requests", ["source_project_id", "source_branch"], name: "index_merge_requests_on_source_project_and_branch_state_opened", where: "((state)::text = 'opened'::text)", using: :btree
1351
  add_index "merge_requests", ["source_project_id", "source_branch"], name: "index_merge_requests_on_source_project_id_and_source_branch", using: :btree
D
Dmitriy Zaporozhets 已提交
1352
  add_index "merge_requests", ["target_branch"], name: "index_merge_requests_on_target_branch", using: :btree
1353
  add_index "merge_requests", ["target_project_id", "iid"], name: "index_merge_requests_on_target_project_id_and_iid", unique: true, using: :btree
1354
  add_index "merge_requests", ["target_project_id", "iid"], name: "index_merge_requests_on_target_project_id_and_iid_opened", where: "((state)::text = 'opened'::text)", using: :btree
1355
  add_index "merge_requests", ["target_project_id", "merge_commit_sha", "id"], name: "index_merge_requests_on_tp_id_and_merge_commit_sha_and_id", using: :btree
D
Dmitriy Zaporozhets 已提交
1356
  add_index "merge_requests", ["title"], name: "index_merge_requests_on_title", using: :btree
1357
  add_index "merge_requests", ["title"], name: "index_merge_requests_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
1358
  add_index "merge_requests", ["updated_by_id"], name: "index_merge_requests_on_updated_by_id", where: "(updated_by_id IS NOT NULL)", using: :btree
D
Dmitriy Zaporozhets 已提交
1359

1360
  create_table "merge_requests_closing_issues", force: :cascade do |t|
1361 1362 1363 1364
    t.integer "merge_request_id", null: false
    t.integer "issue_id", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1365 1366
  end

T
Timothy Andrew 已提交
1367 1368 1369
  add_index "merge_requests_closing_issues", ["issue_id"], name: "index_merge_requests_closing_issues_on_issue_id", using: :btree
  add_index "merge_requests_closing_issues", ["merge_request_id"], name: "index_merge_requests_closing_issues_on_merge_request_id", using: :btree

V
Valery Sizov 已提交
1370
  create_table "milestones", force: :cascade do |t|
1371
    t.string "title", null: false
F
Felipe Artur 已提交
1372
    t.integer "project_id"
1373 1374
    t.text "description"
    t.date "due_date"
1375 1376
    t.datetime "created_at"
    t.datetime "updated_at"
1377 1378 1379 1380
    t.string "state"
    t.integer "iid"
    t.text "title_html"
    t.text "description_html"
V
Valery Sizov 已提交
1381
    t.date "start_date"
1382
    t.integer "cached_markdown_version"
F
Felipe Artur 已提交
1383
    t.integer "group_id"
A
Andrew8xx8 已提交
1384 1385
  end

1386
  add_index "milestones", ["description"], name: "index_milestones_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1387
  add_index "milestones", ["due_date"], name: "index_milestones_on_due_date", using: :btree
F
Felipe Artur 已提交
1388
  add_index "milestones", ["group_id"], name: "index_milestones_on_group_id", using: :btree
1389
  add_index "milestones", ["project_id", "iid"], name: "index_milestones_on_project_id_and_iid", unique: true, using: :btree
1390
  add_index "milestones", ["title"], name: "index_milestones_on_title", using: :btree
1391
  add_index "milestones", ["title"], name: "index_milestones_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
A
Andrew8xx8 已提交
1392

V
Valery Sizov 已提交
1393
  create_table "namespaces", force: :cascade do |t|
1394 1395 1396
    t.string "name", null: false
    t.string "path", null: false
    t.integer "owner_id"
1397 1398
    t.datetime "created_at"
    t.datetime "updated_at"
1399 1400 1401 1402 1403
    t.string "type"
    t.string "description", default: "", null: false
    t.string "avatar"
    t.boolean "share_with_group_lock", default: false
    t.integer "visibility_level", default: 20, null: false
1404
    t.boolean "request_access_enabled", default: false, null: false
N
Nick Thomas 已提交
1405
    t.text "description_html"
1406
    t.boolean "lfs_enabled"
1407
    t.integer "parent_id"
1408 1409
    t.boolean "require_two_factor_authentication", default: false, null: false
    t.integer "two_factor_grace_period", default: 48, null: false
1410
    t.integer "cached_markdown_version"
1411
    t.string "runners_token"
1412
    t.string "runners_token_encrypted"
A
Andrew8xx8 已提交
1413 1414
  end

1415
  add_index "namespaces", ["created_at"], name: "index_namespaces_on_created_at", using: :btree
1416
  add_index "namespaces", ["name", "parent_id"], name: "index_namespaces_on_name_and_parent_id", unique: true, using: :btree
1417
  add_index "namespaces", ["name"], name: "index_namespaces_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1418
  add_index "namespaces", ["owner_id"], name: "index_namespaces_on_owner_id", using: :btree
1419
  add_index "namespaces", ["parent_id", "id"], name: "index_namespaces_on_parent_id_and_id", unique: true, using: :btree
1420
  add_index "namespaces", ["path"], name: "index_namespaces_on_path", using: :btree
1421
  add_index "namespaces", ["path"], name: "index_namespaces_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
1422
  add_index "namespaces", ["require_two_factor_authentication"], name: "index_namespaces_on_require_two_factor_authentication", using: :btree
1423
  add_index "namespaces", ["runners_token"], name: "index_namespaces_on_runners_token", unique: true, using: :btree
D
Dmitriy Zaporozhets 已提交
1424
  add_index "namespaces", ["type"], name: "index_namespaces_on_type", using: :btree
A
Andrew8xx8 已提交
1425

1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
  create_table "note_diff_files", force: :cascade do |t|
    t.integer "diff_note_id", null: false
    t.text "diff", null: false
    t.boolean "new_file", null: false
    t.boolean "renamed_file", null: false
    t.boolean "deleted_file", null: false
    t.string "a_mode", null: false
    t.string "b_mode", null: false
    t.text "new_path", null: false
    t.text "old_path", null: false
  end

  add_index "note_diff_files", ["diff_note_id"], name: "index_note_diff_files_on_diff_note_id", unique: true, using: :btree

V
Valery Sizov 已提交
1440
  create_table "notes", force: :cascade do |t|
1441 1442 1443
    t.text "note"
    t.string "noteable_type"
    t.integer "author_id"
1444 1445
    t.datetime "created_at"
    t.datetime "updated_at"
1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456
    t.integer "project_id"
    t.string "attachment"
    t.string "line_code"
    t.string "commit_id"
    t.integer "noteable_id"
    t.boolean "system", default: false, null: false
    t.text "st_diff"
    t.integer "updated_by_id"
    t.string "type"
    t.text "position"
    t.text "original_position"
1457
    t.datetime "resolved_at"
1458 1459 1460
    t.integer "resolved_by_id"
    t.string "discussion_id"
    t.text "note_html"
1461
    t.integer "cached_markdown_version"
1462
    t.text "change_position"
1463
    t.boolean "resolved_by_push"
A
Andrew8xx8 已提交
1464 1465
  end

D
Dmitriy Zaporozhets 已提交
1466 1467 1468
  add_index "notes", ["author_id"], name: "index_notes_on_author_id", using: :btree
  add_index "notes", ["commit_id"], name: "index_notes_on_commit_id", using: :btree
  add_index "notes", ["created_at"], name: "index_notes_on_created_at", using: :btree
1469
  add_index "notes", ["discussion_id"], name: "index_notes_on_discussion_id", using: :btree
1470
  add_index "notes", ["line_code"], name: "index_notes_on_line_code", using: :btree
1471
  add_index "notes", ["note"], name: "index_notes_on_note_trigram", using: :gin, opclasses: {"note"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1472 1473 1474
  add_index "notes", ["noteable_id", "noteable_type"], name: "index_notes_on_noteable_id_and_noteable_type", using: :btree
  add_index "notes", ["noteable_type"], name: "index_notes_on_noteable_type", using: :btree
  add_index "notes", ["project_id", "noteable_type"], name: "index_notes_on_project_id_and_noteable_type", using: :btree
J
Jacob Vosmaer 已提交
1475
  add_index "notes", ["updated_at"], name: "index_notes_on_updated_at", using: :btree
A
Andrew8xx8 已提交
1476

1477
  create_table "notification_settings", force: :cascade do |t|
1478 1479 1480 1481 1482 1483
    t.integer "user_id", null: false
    t.integer "source_id"
    t.string "source_type"
    t.integer "level", default: 0, null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495
    t.boolean "new_note"
    t.boolean "new_issue"
    t.boolean "reopen_issue"
    t.boolean "close_issue"
    t.boolean "reassign_issue"
    t.boolean "new_merge_request"
    t.boolean "reopen_merge_request"
    t.boolean "close_merge_request"
    t.boolean "reassign_merge_request"
    t.boolean "merge_merge_request"
    t.boolean "failed_pipeline"
    t.boolean "success_pipeline"
1496
    t.boolean "push_to_merge_request"
1497
    t.boolean "issue_due"
1498 1499
  end

1500
  add_index "notification_settings", ["source_id", "source_type"], name: "index_notification_settings_on_source_id_and_source_type", using: :btree
1501
  add_index "notification_settings", ["user_id", "source_id", "source_type"], name: "index_notifications_on_user_id_and_source_id_and_source_type", unique: true, using: :btree
1502 1503
  add_index "notification_settings", ["user_id"], name: "index_notification_settings_on_user_id", using: :btree

V
Valery Sizov 已提交
1504
  create_table "oauth_access_grants", force: :cascade do |t|
1505 1506 1507 1508 1509 1510
    t.integer "resource_owner_id", null: false
    t.integer "application_id", null: false
    t.string "token", null: false
    t.integer "expires_in", null: false
    t.text "redirect_uri", null: false
    t.datetime "created_at", null: false
V
Valery Sizov 已提交
1511
    t.datetime "revoked_at"
1512
    t.string "scopes"
V
Valery Sizov 已提交
1513 1514 1515 1516
  end

  add_index "oauth_access_grants", ["token"], name: "index_oauth_access_grants_on_token", unique: true, using: :btree

V
Valery Sizov 已提交
1517
  create_table "oauth_access_tokens", force: :cascade do |t|
1518 1519 1520 1521 1522
    t.integer "resource_owner_id"
    t.integer "application_id"
    t.string "token", null: false
    t.string "refresh_token"
    t.integer "expires_in"
V
Valery Sizov 已提交
1523
    t.datetime "revoked_at"
1524 1525
    t.datetime "created_at", null: false
    t.string "scopes"
V
Valery Sizov 已提交
1526 1527 1528 1529 1530 1531
  end

  add_index "oauth_access_tokens", ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, using: :btree
  add_index "oauth_access_tokens", ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", using: :btree
  add_index "oauth_access_tokens", ["token"], name: "index_oauth_access_tokens_on_token", unique: true, using: :btree

V
Valery Sizov 已提交
1532
  create_table "oauth_applications", force: :cascade do |t|
1533 1534 1535 1536 1537
    t.string "name", null: false
    t.string "uid", null: false
    t.string "secret", null: false
    t.text "redirect_uri", null: false
    t.string "scopes", default: "", null: false
V
Valery Sizov 已提交
1538 1539
    t.datetime "created_at"
    t.datetime "updated_at"
1540 1541
    t.integer "owner_id"
    t.string "owner_type"
O
Oswaldo Ferreira 已提交
1542
    t.boolean "trusted", default: false, null: false
V
Valery Sizov 已提交
1543 1544 1545 1546 1547
  end

  add_index "oauth_applications", ["owner_id", "owner_type"], name: "index_oauth_applications_on_owner_id_and_owner_type", using: :btree
  add_index "oauth_applications", ["uid"], name: "index_oauth_applications_on_uid", unique: true, using: :btree

1548 1549 1550 1551 1552
  create_table "oauth_openid_requests", force: :cascade do |t|
    t.integer "access_grant_id", null: false
    t.string "nonce", null: false
  end

K
Kamil Trzcinski 已提交
1553 1554
  create_table "pages_domains", force: :cascade do |t|
    t.integer "project_id"
1555 1556 1557 1558 1559
    t.text "certificate"
    t.text "encrypted_key"
    t.string "encrypted_key_iv"
    t.string "encrypted_key_salt"
    t.string "domain"
1560 1561 1562
    t.datetime_with_timezone "verified_at"
    t.string "verification_code", null: false
    t.datetime_with_timezone "enabled_until"
K
Kamil Trzcinski 已提交
1563 1564 1565
  end

  add_index "pages_domains", ["domain"], name: "index_pages_domains_on_domain", unique: true, using: :btree
1566
  add_index "pages_domains", ["project_id", "enabled_until"], name: "index_pages_domains_on_project_id_and_enabled_until", using: :btree
1567
  add_index "pages_domains", ["project_id"], name: "index_pages_domains_on_project_id", using: :btree
1568 1569
  add_index "pages_domains", ["verified_at", "enabled_until"], name: "index_pages_domains_on_verified_at_and_enabled_until", using: :btree
  add_index "pages_domains", ["verified_at"], name: "index_pages_domains_on_verified_at", using: :btree
K
Kamil Trzcinski 已提交
1570

1571
  create_table "personal_access_tokens", force: :cascade do |t|
1572
    t.integer "user_id", null: false
1573
    t.string "token"
1574 1575
    t.string "name", null: false
    t.boolean "revoked", default: false
1576
    t.date "expires_at"
1577 1578
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1579
    t.string "scopes", default: "--- []\n", null: false
S
Simon Vocella 已提交
1580
    t.boolean "impersonation", default: false, null: false
1581
    t.string "token_digest"
1582 1583 1584
  end

  add_index "personal_access_tokens", ["token"], name: "index_personal_access_tokens_on_token", unique: true, using: :btree
1585
  add_index "personal_access_tokens", ["token_digest"], name: "index_personal_access_tokens_on_token_digest", unique: true, using: :btree
1586 1587
  add_index "personal_access_tokens", ["user_id"], name: "index_personal_access_tokens_on_user_id", using: :btree

1588 1589 1590 1591 1592 1593 1594 1595
  create_table "programming_languages", force: :cascade do |t|
    t.string "name", null: false
    t.string "color", null: false
    t.datetime_with_timezone "created_at", null: false
  end

  add_index "programming_languages", ["name"], name: "index_programming_languages_on_name", unique: true, using: :btree

1596
  create_table "project_authorizations", id: false, force: :cascade do |t|
1597 1598 1599
    t.integer "user_id", null: false
    t.integer "project_id", null: false
    t.integer "access_level", null: false
1600 1601
  end

1602
  add_index "project_authorizations", ["project_id"], name: "index_project_authorizations_on_project_id", using: :btree
1603 1604
  add_index "project_authorizations", ["user_id", "project_id", "access_level"], name: "index_project_authorizations_on_user_id_project_id_access_level", unique: true, using: :btree

1605
  create_table "project_auto_devops", force: :cascade do |t|
Z
Zeger-Jan van de Weg 已提交
1606
    t.integer "project_id", null: false
1607 1608
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1609 1610
    t.boolean "enabled"
    t.string "domain"
1611
    t.integer "deploy_strategy", default: 0, null: false
1612 1613
  end

Z
Zeger-Jan van de Weg 已提交
1614
  add_index "project_auto_devops", ["project_id"], name: "index_project_auto_devops_on_project_id", unique: true, using: :btree
1615

1616 1617 1618 1619 1620 1621 1622
  create_table "project_ci_cd_settings", force: :cascade do |t|
    t.integer "project_id", null: false
    t.boolean "group_runners_enabled", default: true, null: false
  end

  add_index "project_ci_cd_settings", ["project_id"], name: "index_project_ci_cd_settings_on_project_id", unique: true, using: :btree

1623
  create_table "project_custom_attributes", force: :cascade do |t|
1624 1625
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1626 1627 1628 1629 1630 1631 1632 1633
    t.integer "project_id", null: false
    t.string "key", null: false
    t.string "value", null: false
  end

  add_index "project_custom_attributes", ["key", "value"], name: "index_project_custom_attributes_on_key_and_value", using: :btree
  add_index "project_custom_attributes", ["project_id", "key"], name: "index_project_custom_attributes_on_project_id_and_key", unique: true, using: :btree

M
Mayra Cabrera 已提交
1634 1635 1636
  create_table "project_deploy_tokens", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "deploy_token_id", null: false
M
Mayra Cabrera 已提交
1637
    t.datetime_with_timezone "created_at", null: false
M
Mayra Cabrera 已提交
1638 1639
  end

1640
  add_index "project_deploy_tokens", ["deploy_token_id"], name: "index_project_deploy_tokens_on_deploy_token_id", using: :btree
K
Kamil Trzciński 已提交
1641
  add_index "project_deploy_tokens", ["project_id", "deploy_token_id"], name: "index_project_deploy_tokens_on_project_id_and_deploy_token_id", unique: true, using: :btree
M
Mayra Cabrera 已提交
1642

F
Felipe Artur 已提交
1643
  create_table "project_features", force: :cascade do |t|
1644
    t.integer "project_id", null: false
1645 1646 1647
    t.integer "merge_requests_access_level"
    t.integer "issues_access_level"
    t.integer "wiki_access_level"
1648
    t.integer "snippets_access_level", default: 20, null: false
1649
    t.integer "builds_access_level"
F
Felipe Artur 已提交
1650 1651
    t.datetime "created_at"
    t.datetime "updated_at"
V
Valery Sizov 已提交
1652
    t.integer "repository_access_level", default: 20, null: false
1653
    t.integer "pages_access_level", default: 20, null: false
F
Felipe Artur 已提交
1654 1655
  end

1656
  add_index "project_features", ["project_id"], name: "index_project_features_on_project_id", unique: true, using: :btree
F
Felipe Artur 已提交
1657

1658
  create_table "project_group_links", force: :cascade do |t|
1659 1660
    t.integer "project_id", null: false
    t.integer "group_id", null: false
1661 1662
    t.datetime "created_at"
    t.datetime "updated_at"
1663 1664
    t.integer "group_access", default: 30, null: false
    t.date "expires_at"
1665 1666
  end

1667
  add_index "project_group_links", ["group_id"], name: "index_project_group_links_on_group_id", using: :btree
1668
  add_index "project_group_links", ["project_id"], name: "index_project_group_links_on_project_id", using: :btree
1669

V
Valery Sizov 已提交
1670
  create_table "project_import_data", force: :cascade do |t|
1671
    t.integer "project_id"
1672 1673 1674 1675
    t.text "data"
    t.text "encrypted_credentials"
    t.string "encrypted_credentials_iv"
    t.string "encrypted_credentials_salt"
1676 1677
  end

1678 1679
  add_index "project_import_data", ["project_id"], name: "index_project_import_data_on_project_id", using: :btree

1680
  create_table "project_mirror_data", force: :cascade do |t|
1681
    t.integer "project_id", null: false
1682 1683 1684 1685 1686 1687
    t.string "status"
    t.string "jid"
    t.text "last_error"
  end

  add_index "project_mirror_data", ["jid"], name: "index_project_mirror_data_on_jid", using: :btree
1688
  add_index "project_mirror_data", ["project_id"], name: "index_project_mirror_data_on_project_id", unique: true, using: :btree
1689 1690
  add_index "project_mirror_data", ["status"], name: "index_project_mirror_data_on_status", using: :btree

M
Markus Koller 已提交
1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703
  create_table "project_statistics", force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "namespace_id", null: false
    t.integer "commit_count", limit: 8, default: 0, null: false
    t.integer "storage_size", limit: 8, default: 0, null: false
    t.integer "repository_size", limit: 8, default: 0, null: false
    t.integer "lfs_objects_size", limit: 8, default: 0, null: false
    t.integer "build_artifacts_size", limit: 8, default: 0, null: false
  end

  add_index "project_statistics", ["namespace_id"], name: "index_project_statistics_on_namespace_id", using: :btree
  add_index "project_statistics", ["project_id"], name: "index_project_statistics_on_project_id", unique: true, using: :btree

V
Valery Sizov 已提交
1704
  create_table "projects", force: :cascade do |t|
1705 1706 1707
    t.string "name"
    t.string "path"
    t.text "description"
1708 1709
    t.datetime "created_at"
    t.datetime "updated_at"
1710
    t.integer "creator_id"
1711
    t.integer "namespace_id", null: false
1712
    t.datetime "last_activity_at"
1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730
    t.string "import_url"
    t.integer "visibility_level", default: 0, null: false
    t.boolean "archived", default: false, null: false
    t.string "avatar"
    t.string "import_status"
    t.integer "star_count", default: 0, null: false
    t.string "import_type"
    t.string "import_source"
    t.text "import_error"
    t.integer "ci_id"
    t.boolean "shared_runners_enabled", default: true, null: false
    t.string "runners_token"
    t.string "build_coverage_regex"
    t.boolean "build_allow_git_fetch", default: true, null: false
    t.integer "build_timeout", default: 3600, null: false
    t.boolean "pending_delete", default: false
    t.boolean "public_builds", default: true, null: false
    t.boolean "last_repository_check_failed"
J
Jacob Vosmaer 已提交
1731
    t.datetime "last_repository_check_at"
1732
    t.boolean "container_registry_enabled"
J
James Lopez 已提交
1733
    t.boolean "only_allow_merge_if_pipeline_succeeds", default: false, null: false
1734 1735
    t.boolean "has_external_issue_tracker"
    t.string "repository_storage", default: "default", null: false
1736
    t.boolean "request_access_enabled", default: false, null: false
1737
    t.boolean "has_external_wiki"
Z
Zeger-Jan van de Weg 已提交
1738
    t.string "ci_config_path"
1739 1740
    t.boolean "lfs_enabled"
    t.text "description_html"
V
Valery Sizov 已提交
1741
    t.boolean "only_allow_merge_if_all_discussions_are_resolved"
1742
    t.boolean "printing_merge_request_link_enabled", default: true, null: false
1743
    t.integer "auto_cancel_pending_pipelines", default: 1, null: false
1744
    t.string "import_jid"
1745
    t.integer "cached_markdown_version"
1746
    t.text "delete_error"
1747
    t.datetime "last_repository_updated_at"
1748
    t.integer "storage_version", limit: 2
S
Sean McGivern 已提交
1749
    t.boolean "resolve_outdated_diff_discussions"
1750
    t.boolean "repository_read_only"
1751
    t.boolean "merge_requests_ff_only_enabled", default: false
1752
    t.boolean "merge_requests_rebase_enabled", default: false, null: false
1753
    t.integer "jobs_cache_index"
R
Rob Watson 已提交
1754
    t.boolean "pages_https_only", default: true
1755
    t.boolean "remote_mirror_available_overridden"
N
Nick Thomas 已提交
1756
    t.integer "pool_repository_id", limit: 8
1757
    t.string "runners_token_encrypted"
A
Andrew8xx8 已提交
1758 1759
  end

1760
  add_index "projects", ["ci_id"], name: "index_projects_on_ci_id", using: :btree
1761
  add_index "projects", ["created_at"], name: "index_projects_on_created_at", using: :btree
1762
  add_index "projects", ["creator_id"], name: "index_projects_on_creator_id", using: :btree
1763
  add_index "projects", ["description"], name: "index_projects_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
1764
  add_index "projects", ["id"], name: "index_projects_on_id_partial_for_visibility", unique: true, where: "(visibility_level = ANY (ARRAY[10, 20]))", using: :btree
D
Dmitriy Zaporozhets 已提交
1765
  add_index "projects", ["last_activity_at"], name: "index_projects_on_last_activity_at", using: :btree
1766
  add_index "projects", ["last_repository_check_at"], name: "index_projects_on_last_repository_check_at", where: "(last_repository_check_at IS NOT NULL)", using: :btree
1767
  add_index "projects", ["last_repository_check_failed"], name: "index_projects_on_last_repository_check_failed", using: :btree
1768
  add_index "projects", ["last_repository_updated_at"], name: "index_projects_on_last_repository_updated_at", using: :btree
1769
  add_index "projects", ["name"], name: "index_projects_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1770
  add_index "projects", ["namespace_id"], name: "index_projects_on_namespace_id", using: :btree
K
Kamil Trzcinski 已提交
1771
  add_index "projects", ["path"], name: "index_projects_on_path", using: :btree
1772
  add_index "projects", ["path"], name: "index_projects_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
J
James Lopez 已提交
1773
  add_index "projects", ["pending_delete"], name: "index_projects_on_pending_delete", using: :btree
N
Nick Thomas 已提交
1774
  add_index "projects", ["pool_repository_id"], name: "index_projects_on_pool_repository_id", where: "(pool_repository_id IS NOT NULL)", using: :btree
V
Valery Sizov 已提交
1775
  add_index "projects", ["repository_storage", "created_at"], name: "idx_project_repository_check_partial", where: "(last_repository_check_at IS NULL)", using: :btree
1776
  add_index "projects", ["repository_storage"], name: "index_projects_on_repository_storage", using: :btree
1777
  add_index "projects", ["runners_token"], name: "index_projects_on_runners_token", using: :btree
1778
  add_index "projects", ["star_count"], name: "index_projects_on_star_count", using: :btree
1779
  add_index "projects", ["visibility_level"], name: "index_projects_on_visibility_level", using: :btree
A
Andrew8xx8 已提交
1780

1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796
  create_table "prometheus_metrics", force: :cascade do |t|
    t.integer "project_id"
    t.string "title", null: false
    t.string "query", null: false
    t.string "y_label"
    t.string "unit"
    t.string "legend"
    t.integer "group", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.boolean "common", default: false, null: false
    t.string "identifier"
  end

  add_index "prometheus_metrics", ["common"], name: "index_prometheus_metrics_on_common", using: :btree
  add_index "prometheus_metrics", ["group"], name: "index_prometheus_metrics_on_group", using: :btree
K
Kamil Trzciński 已提交
1797
  add_index "prometheus_metrics", ["identifier"], name: "index_prometheus_metrics_on_identifier", unique: true, using: :btree
1798 1799
  add_index "prometheus_metrics", ["project_id"], name: "index_prometheus_metrics_on_project_id", using: :btree

1800
  create_table "protected_branch_merge_access_levels", force: :cascade do |t|
1801 1802 1803 1804
    t.integer "protected_branch_id", null: false
    t.integer "access_level", default: 40, null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1805 1806 1807 1808 1809
  end

  add_index "protected_branch_merge_access_levels", ["protected_branch_id"], name: "index_protected_branch_merge_access", using: :btree

  create_table "protected_branch_push_access_levels", force: :cascade do |t|
1810 1811 1812 1813
    t.integer "protected_branch_id", null: false
    t.integer "access_level", default: 40, null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1814 1815 1816 1817
  end

  add_index "protected_branch_push_access_levels", ["protected_branch_id"], name: "index_protected_branch_push_access", using: :btree

V
Valery Sizov 已提交
1818
  create_table "protected_branches", force: :cascade do |t|
1819 1820
    t.integer "project_id", null: false
    t.string "name", null: false
1821 1822
    t.datetime "created_at"
    t.datetime "updated_at"
A
Andrew8xx8 已提交
1823 1824
  end

D
Dmitriy Zaporozhets 已提交
1825
  add_index "protected_branches", ["project_id"], name: "index_protected_branches_on_project_id", using: :btree
D
Dmitriy Zaporozhets 已提交
1826

1827
  create_table "protected_tag_create_access_levels", force: :cascade do |t|
1828
    t.integer "protected_tag_id", null: false
1829 1830 1831
    t.integer "access_level", default: 40
    t.integer "user_id"
    t.integer "group_id"
1832 1833 1834 1835
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

1836 1837
  add_index "protected_tag_create_access_levels", ["protected_tag_id"], name: "index_protected_tag_create_access", using: :btree
  add_index "protected_tag_create_access_levels", ["user_id"], name: "index_protected_tag_create_access_levels_on_user_id", using: :btree
1838 1839 1840 1841

  create_table "protected_tags", force: :cascade do |t|
    t.integer "project_id", null: false
    t.string "name", null: false
1842 1843
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1844 1845
  end

R
Robert Schilling 已提交
1846
  add_index "protected_tags", ["project_id", "name"], name: "index_protected_tags_on_project_id_and_name", unique: true, using: :btree
1847 1848
  add_index "protected_tags", ["project_id"], name: "index_protected_tags_on_project_id", using: :btree

1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861
  create_table "push_event_payloads", id: false, force: :cascade do |t|
    t.integer "commit_count", limit: 8, null: false
    t.integer "event_id", null: false
    t.integer "action", limit: 2, null: false
    t.integer "ref_type", limit: 2, null: false
    t.binary "commit_from"
    t.binary "commit_to"
    t.text "ref"
    t.string "commit_title", limit: 70
  end

  add_index "push_event_payloads", ["event_id"], name: "index_push_event_payloads_on_event_id", unique: true, using: :btree

1862 1863 1864 1865 1866 1867 1868 1869
  create_table "redirect_routes", force: :cascade do |t|
    t.integer "source_id", null: false
    t.string "source_type", null: false
    t.string "path", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

1870 1871 1872
  add_index "redirect_routes", ["path"], name: "index_redirect_routes_on_path", unique: true, using: :btree
  add_index "redirect_routes", ["source_type", "source_id"], name: "index_redirect_routes_on_source_type_and_source_id", using: :btree

V
Valery Sizov 已提交
1873
  create_table "releases", force: :cascade do |t|
1874 1875 1876
    t.string "tag"
    t.text "description"
    t.integer "project_id"
D
Dmitriy Zaporozhets 已提交
1877 1878
    t.datetime "created_at"
    t.datetime "updated_at"
1879
    t.text "description_html"
1880
    t.integer "cached_markdown_version"
D
Dmitriy Zaporozhets 已提交
1881 1882 1883 1884 1885
  end

  add_index "releases", ["project_id", "tag"], name: "index_releases_on_project_id_and_tag", using: :btree
  add_index "releases", ["project_id"], name: "index_releases_on_project_id", using: :btree

1886 1887 1888
  create_table "remote_mirrors", force: :cascade do |t|
    t.integer "project_id"
    t.string "url"
1889
    t.boolean "enabled", default: false
1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906
    t.string "update_status"
    t.datetime "last_update_at"
    t.datetime "last_successful_update_at"
    t.datetime "last_update_started_at"
    t.string "last_error"
    t.boolean "only_protected_branches", default: false, null: false
    t.string "remote_name"
    t.text "encrypted_credentials"
    t.string "encrypted_credentials_iv"
    t.string "encrypted_credentials_salt"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  add_index "remote_mirrors", ["last_successful_update_at"], name: "index_remote_mirrors_on_last_successful_update_at", using: :btree
  add_index "remote_mirrors", ["project_id"], name: "index_remote_mirrors_on_project_id", using: :btree

N
Nick Thomas 已提交
1907 1908 1909 1910 1911 1912 1913 1914
  create_table "repositories", id: :bigserial, force: :cascade do |t|
    t.integer "shard_id", null: false
    t.string "disk_path", null: false
  end

  add_index "repositories", ["disk_path"], name: "index_repositories_on_disk_path", unique: true, using: :btree
  add_index "repositories", ["shard_id"], name: "index_repositories_on_shard_id", using: :btree

1915 1916 1917 1918 1919 1920 1921 1922
  create_table "repository_languages", id: false, force: :cascade do |t|
    t.integer "project_id", null: false
    t.integer "programming_language_id", null: false
    t.float "share", null: false
  end

  add_index "repository_languages", ["project_id", "programming_language_id"], name: "index_repository_languages_on_project_and_languages_id", unique: true, using: :btree

J
Jan Provaznik 已提交
1923 1924 1925 1926 1927 1928 1929
  create_table "resource_label_events", id: :bigserial, force: :cascade do |t|
    t.integer "action", null: false
    t.integer "issue_id"
    t.integer "merge_request_id"
    t.integer "label_id"
    t.integer "user_id"
    t.datetime_with_timezone "created_at", null: false
1930 1931 1932
    t.integer "cached_markdown_version"
    t.text "reference"
    t.text "reference_html"
J
Jan Provaznik 已提交
1933 1934 1935 1936 1937 1938 1939
  end

  add_index "resource_label_events", ["issue_id"], name: "index_resource_label_events_on_issue_id", using: :btree
  add_index "resource_label_events", ["label_id"], name: "index_resource_label_events_on_label_id", using: :btree
  add_index "resource_label_events", ["merge_request_id"], name: "index_resource_label_events_on_merge_request_id", using: :btree
  add_index "resource_label_events", ["user_id"], name: "index_resource_label_events_on_user_id", using: :btree

1940 1941 1942 1943 1944 1945
  create_table "routes", force: :cascade do |t|
    t.integer "source_id", null: false
    t.string "source_type", null: false
    t.string "path", null: false
    t.datetime "created_at"
    t.datetime "updated_at"
1946
    t.string "name"
1947 1948 1949
  end

  add_index "routes", ["path"], name: "index_routes_on_path", unique: true, using: :btree
Y
Yorick Peterse 已提交
1950
  add_index "routes", ["path"], name: "index_routes_on_path_text_pattern_ops", using: :btree, opclasses: {"path"=>"varchar_pattern_ops"}
1951 1952
  add_index "routes", ["source_type", "source_id"], name: "index_routes_on_source_type_and_source_id", unique: true, using: :btree

V
Valery Sizov 已提交
1953
  create_table "sent_notifications", force: :cascade do |t|
D
Douwe Maan 已提交
1954 1955
    t.integer "project_id"
    t.integer "noteable_id"
1956
    t.string "noteable_type"
D
Douwe Maan 已提交
1957
    t.integer "recipient_id"
1958 1959 1960 1961 1962
    t.string "commit_id"
    t.string "reply_key", null: false
    t.string "line_code"
    t.string "note_type"
    t.text "position"
1963
    t.string "in_reply_to_discussion_id"
D
Douwe Maan 已提交
1964 1965 1966 1967
  end

  add_index "sent_notifications", ["reply_key"], name: "index_sent_notifications_on_reply_key", unique: true, using: :btree

V
Valery Sizov 已提交
1968
  create_table "services", force: :cascade do |t|
1969 1970 1971
    t.string "type"
    t.string "title"
    t.integer "project_id"
1972 1973
    t.datetime "created_at"
    t.datetime "updated_at"
1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986
    t.boolean "active", default: false, null: false
    t.text "properties"
    t.boolean "template", default: false
    t.boolean "push_events", default: true
    t.boolean "issues_events", default: true
    t.boolean "merge_requests_events", default: true
    t.boolean "tag_push_events", default: true
    t.boolean "note_events", default: true, null: false
    t.string "category", default: "common", null: false
    t.boolean "default", default: false
    t.boolean "wiki_page_events", default: true
    t.boolean "pipeline_events", default: false, null: false
    t.boolean "confidential_issues_events", default: true, null: false
1987
    t.boolean "commit_events", default: true, null: false
1988
    t.boolean "job_events", default: false, null: false
1989
    t.boolean "confidential_note_events", default: true
1990 1991
  end

D
Dmitriy Zaporozhets 已提交
1992
  add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree
Y
Yorick Peterse 已提交
1993
  add_index "services", ["template"], name: "index_services_on_template", using: :btree
A
Andrew8xx8 已提交
1994

1995 1996 1997 1998 1999 2000
  create_table "shards", force: :cascade do |t|
    t.string "name", null: false
  end

  add_index "shards", ["name"], name: "index_shards_on_name", unique: true, using: :btree

2001 2002 2003 2004
  create_table "site_statistics", force: :cascade do |t|
    t.integer "repositories_count", default: 0, null: false
  end

V
Valery Sizov 已提交
2005
  create_table "snippets", force: :cascade do |t|
2006 2007 2008 2009
    t.string "title"
    t.text "content"
    t.integer "author_id", null: false
    t.integer "project_id"
2010 2011
    t.datetime "created_at"
    t.datetime "updated_at"
2012 2013 2014 2015 2016
    t.string "file_name"
    t.string "type"
    t.integer "visibility_level", default: 0, null: false
    t.text "title_html"
    t.text "content_html"
2017
    t.integer "cached_markdown_version"
2018 2019
    t.text "description"
    t.text "description_html"
A
Andrew8xx8 已提交
2020 2021
  end

D
Dmitriy Zaporozhets 已提交
2022
  add_index "snippets", ["author_id"], name: "index_snippets_on_author_id", using: :btree
2023
  add_index "snippets", ["file_name"], name: "index_snippets_on_file_name_trigram", using: :gin, opclasses: {"file_name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2024
  add_index "snippets", ["project_id"], name: "index_snippets_on_project_id", using: :btree
2025
  add_index "snippets", ["title"], name: "index_snippets_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
2026
  add_index "snippets", ["updated_at"], name: "index_snippets_on_updated_at", using: :btree
V
Valery Sizov 已提交
2027
  add_index "snippets", ["visibility_level"], name: "index_snippets_on_visibility_level", using: :btree
A
Andrew8xx8 已提交
2028

2029
  create_table "spam_logs", force: :cascade do |t|
2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
    t.integer "user_id"
    t.string "source_ip"
    t.string "user_agent"
    t.boolean "via_api"
    t.string "noteable_type"
    t.string "title"
    t.text "description"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "submitted_as_ham", default: false, null: false
2040
    t.boolean "recaptcha_verified", default: false, null: false
2041 2042
  end

V
Valery Sizov 已提交
2043
  create_table "subscriptions", force: :cascade do |t|
2044 2045 2046 2047
    t.integer "user_id"
    t.integer "subscribable_id"
    t.string "subscribable_type"
    t.boolean "subscribed"
V
Valery Sizov 已提交
2048 2049
    t.datetime "created_at"
    t.datetime "updated_at"
2050
    t.integer "project_id"
V
Valery Sizov 已提交
2051 2052
  end

2053
  add_index "subscriptions", ["subscribable_id", "subscribable_type", "user_id", "project_id"], name: "index_subscriptions_on_subscribable_and_user_id_and_project_id", unique: true, using: :btree
V
Valery Sizov 已提交
2054

J
Jarka Kadlecova 已提交
2055 2056 2057
  create_table "system_note_metadata", force: :cascade do |t|
    t.integer "note_id", null: false
    t.integer "commit_count"
2058
    t.string "action"
J
Jarka Kadlecova 已提交
2059 2060
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
V
Valery Sizov 已提交
2061 2062
  end

2063
  add_index "system_note_metadata", ["note_id"], name: "index_system_note_metadata_on_note_id", unique: true, using: :btree
V
Valery Sizov 已提交
2064

V
Valery Sizov 已提交
2065
  create_table "taggings", force: :cascade do |t|
2066 2067 2068 2069 2070 2071
    t.integer "tag_id"
    t.integer "taggable_id"
    t.string "taggable_type"
    t.integer "tagger_id"
    t.string "tagger_type"
    t.string "context"
A
Andrew8xx8 已提交
2072 2073 2074
    t.datetime "created_at"
  end

2075
  add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
2076
  add_index "taggings", ["tag_id"], name: "index_taggings_on_tag_id", using: :btree
2077
  add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
2078
  add_index "taggings", ["taggable_id", "taggable_type"], name: "index_taggings_on_taggable_id_and_taggable_type", using: :btree
2079

V
Valery Sizov 已提交
2080
  create_table "tags", force: :cascade do |t|
2081
    t.string "name"
2082
    t.integer "taggings_count", default: 0
A
Andrew8xx8 已提交
2083 2084
  end

2085 2086
  add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree

2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098
  create_table "term_agreements", force: :cascade do |t|
    t.integer "term_id", null: false
    t.integer "user_id", null: false
    t.boolean "accepted", default: false, null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
  end

  add_index "term_agreements", ["term_id"], name: "index_term_agreements_on_term_id", using: :btree
  add_index "term_agreements", ["user_id", "term_id"], name: "term_agreements_unique_index", unique: true, using: :btree
  add_index "term_agreements", ["user_id"], name: "index_term_agreements_on_user_id", using: :btree

2099 2100 2101 2102 2103
  create_table "timelogs", force: :cascade do |t|
    t.integer "time_spent", null: false
    t.integer "user_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
2104 2105
    t.integer "issue_id"
    t.integer "merge_request_id"
V
Vlad 已提交
2106
    t.datetime_with_timezone "spent_at"
2107 2108
  end

2109 2110
  add_index "timelogs", ["issue_id"], name: "index_timelogs_on_issue_id", using: :btree
  add_index "timelogs", ["merge_request_id"], name: "index_timelogs_on_merge_request_id", using: :btree
2111 2112
  add_index "timelogs", ["user_id"], name: "index_timelogs_on_user_id", using: :btree

2113
  create_table "todos", force: :cascade do |t|
2114
    t.integer "user_id", null: false
2115
    t.integer "project_id"
2116 2117
    t.integer "target_id"
    t.string "target_type", null: false
2118
    t.integer "author_id", null: false
2119 2120
    t.integer "action", null: false
    t.string "state", null: false
D
Douglas Barbosa Alexandre 已提交
2121 2122
    t.datetime "created_at"
    t.datetime "updated_at"
2123 2124
    t.integer "note_id"
    t.string "commit_id"
2125
    t.integer "group_id"
D
Douglas Barbosa Alexandre 已提交
2126 2127
  end

2128
  add_index "todos", ["author_id"], name: "index_todos_on_author_id", using: :btree
J
James Lopez 已提交
2129
  add_index "todos", ["commit_id"], name: "index_todos_on_commit_id", using: :btree
2130
  add_index "todos", ["group_id"], name: "index_todos_on_group_id", using: :btree
2131 2132 2133
  add_index "todos", ["note_id"], name: "index_todos_on_note_id", using: :btree
  add_index "todos", ["project_id"], name: "index_todos_on_project_id", using: :btree
  add_index "todos", ["target_type", "target_id"], name: "index_todos_on_target_type_and_target_id", using: :btree
2134 2135
  add_index "todos", ["user_id", "id"], name: "index_todos_on_user_id_and_id_done", where: "((state)::text = 'done'::text)", using: :btree
  add_index "todos", ["user_id", "id"], name: "index_todos_on_user_id_and_id_pending", where: "((state)::text = 'pending'::text)", using: :btree
2136
  add_index "todos", ["user_id"], name: "index_todos_on_user_id", using: :btree
D
Douglas Barbosa Alexandre 已提交
2137

Y
Yorick Peterse 已提交
2138 2139 2140 2141
  create_table "trending_projects", force: :cascade do |t|
    t.integer "project_id", null: false
  end

2142
  add_index "trending_projects", ["project_id"], name: "index_trending_projects_on_project_id", unique: true, using: :btree
Y
Yorick Peterse 已提交
2143

2144
  create_table "u2f_registrations", force: :cascade do |t|
2145 2146 2147 2148 2149 2150 2151 2152
    t.text "certificate"
    t.string "key_handle"
    t.string "public_key"
    t.integer "counter"
    t.integer "user_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "name"
2153 2154 2155 2156 2157
  end

  add_index "u2f_registrations", ["key_handle"], name: "index_u2f_registrations_on_key_handle", using: :btree
  add_index "u2f_registrations", ["user_id"], name: "index_u2f_registrations_on_user_id", using: :btree

2158 2159
  create_table "uploads", force: :cascade do |t|
    t.integer "size", limit: 8, null: false
2160
    t.string "path", limit: 511, null: false
2161 2162 2163 2164 2165
    t.string "checksum", limit: 64
    t.integer "model_id"
    t.string "model_type"
    t.string "uploader", null: false
    t.datetime "created_at", null: false
M
Micaël Bergeron 已提交
2166 2167
    t.string "mount_point"
    t.string "secret"
2168
    t.integer "store"
2169 2170 2171 2172
  end

  add_index "uploads", ["checksum"], name: "index_uploads_on_checksum", using: :btree
  add_index "uploads", ["model_id", "model_type"], name: "index_uploads_on_model_id_and_model_type", using: :btree
2173
  add_index "uploads", ["store"], name: "index_uploads_on_store", using: :btree
M
Micaël Bergeron 已提交
2174
  add_index "uploads", ["uploader", "path"], name: "index_uploads_on_uploader_and_path", using: :btree
2175

2176
  create_table "user_agent_details", force: :cascade do |t|
2177 2178 2179 2180 2181 2182 2183
    t.string "user_agent", null: false
    t.string "ip_address", null: false
    t.integer "subject_id", null: false
    t.string "subject_type", null: false
    t.boolean "submitted", default: false, null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
2184 2185
  end

2186 2187
  add_index "user_agent_details", ["subject_id", "subject_type"], name: "index_user_agent_details_on_subject_id_and_subject_type", using: :btree

M
Matija Čupić 已提交
2188
  create_table "user_callouts", force: :cascade do |t|
2189
    t.integer "feature_name", null: false
M
Matija Čupić 已提交
2190 2191 2192 2193 2194 2195
    t.integer "user_id", null: false
  end

  add_index "user_callouts", ["user_id", "feature_name"], name: "index_user_callouts_on_user_id_and_feature_name", unique: true, using: :btree
  add_index "user_callouts", ["user_id"], name: "index_user_callouts_on_user_id", using: :btree

2196
  create_table "user_custom_attributes", force: :cascade do |t|
2197 2198
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
2199 2200 2201 2202 2203 2204 2205 2206
    t.integer "user_id", null: false
    t.string "key", null: false
    t.string "value", null: false
  end

  add_index "user_custom_attributes", ["key", "value"], name: "index_user_custom_attributes_on_key_and_value", using: :btree
  add_index "user_custom_attributes", ["user_id", "key"], name: "index_user_custom_attributes_on_user_id_and_key", unique: true, using: :btree

2207 2208 2209 2210 2211 2212
  create_table "user_interacted_projects", id: false, force: :cascade do |t|
    t.integer "user_id", null: false
    t.integer "project_id", null: false
  end

  add_index "user_interacted_projects", ["project_id", "user_id"], name: "index_user_interacted_projects_on_project_id_and_user_id", unique: true, using: :btree
2213
  add_index "user_interacted_projects", ["user_id"], name: "index_user_interacted_projects_on_user_id", using: :btree
2214

2215 2216 2217 2218 2219 2220 2221 2222 2223 2224
  create_table "user_preferences", force: :cascade do |t|
    t.integer "user_id", null: false
    t.integer "issue_notes_filter", limit: 2, default: 0, null: false
    t.integer "merge_request_notes_filter", limit: 2, default: 0, null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
  end

  add_index "user_preferences", ["user_id"], name: "index_user_preferences_on_user_id", unique: true, using: :btree

B
Bob Van Landuyt 已提交
2225 2226 2227 2228 2229 2230 2231
  create_table "user_statuses", primary_key: "user_id", force: :cascade do |t|
    t.integer "cached_markdown_version"
    t.string "emoji", default: "speech_balloon", null: false
    t.string "message", limit: 100
    t.string "message_html"
  end

2232 2233 2234 2235 2236 2237 2238 2239 2240 2241
  create_table "user_synced_attributes_metadata", force: :cascade do |t|
    t.boolean "name_synced", default: false
    t.boolean "email_synced", default: false
    t.boolean "location_synced", default: false
    t.integer "user_id", null: false
    t.string "provider"
  end

  add_index "user_synced_attributes_metadata", ["user_id"], name: "index_user_synced_attributes_metadata_on_user_id", unique: true, using: :btree

V
Valery Sizov 已提交
2242
  create_table "users", force: :cascade do |t|
2243 2244 2245
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
A
Andrew8xx8 已提交
2246 2247
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
2248
    t.integer "sign_in_count", default: 0
A
Andrew8xx8 已提交
2249 2250
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
2251 2252
    t.string "current_sign_in_ip"
    t.string "last_sign_in_ip"
2253 2254
    t.datetime "created_at"
    t.datetime "updated_at"
2255 2256
    t.string "name"
    t.boolean "admin", default: false, null: false
2257
    t.integer "projects_limit", null: false
2258 2259 2260 2261 2262
    t.string "skype", default: "", null: false
    t.string "linkedin", default: "", null: false
    t.string "twitter", default: "", null: false
    t.string "bio"
    t.integer "failed_attempts", default: 0
A
Andrew8xx8 已提交
2263
    t.datetime "locked_at"
2264 2265 2266 2267 2268
    t.string "username"
    t.boolean "can_create_group", default: true, null: false
    t.boolean "can_create_team", default: true, null: false
    t.string "state"
    t.integer "color_scheme_id", default: 1, null: false
2269
    t.datetime "password_expires_at"
2270
    t.integer "created_by_id"
2271
    t.datetime "last_credential_check_at"
2272 2273
    t.string "avatar"
    t.string "confirmation_token"
2274 2275
    t.datetime "confirmed_at"
    t.datetime "confirmation_sent_at"
2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294
    t.string "unconfirmed_email"
    t.boolean "hide_no_ssh_key", default: false
    t.string "website_url", default: "", null: false
    t.string "notification_email"
    t.boolean "hide_no_password", default: false
    t.boolean "password_automatically_set", default: false
    t.string "location"
    t.string "encrypted_otp_secret"
    t.string "encrypted_otp_secret_iv"
    t.string "encrypted_otp_secret_salt"
    t.boolean "otp_required_for_login", default: false, null: false
    t.text "otp_backup_codes"
    t.string "public_email", default: "", null: false
    t.integer "dashboard", default: 0
    t.integer "project_view", default: 0
    t.integer "consumed_timestep"
    t.integer "layout", default: 0
    t.boolean "hide_project_limit", default: false
    t.string "unlock_token"
G
Gabriel Mazetto 已提交
2295
    t.datetime "otp_grace_period_started_at"
2296
    t.boolean "external", default: false
N
Nick Thomas 已提交
2297
    t.string "incoming_email_token"
2298
    t.string "organization"
2299 2300
    t.boolean "require_two_factor_authentication_from_group", default: false, null: false
    t.integer "two_factor_grace_period", default: 48, null: false
2301
    t.boolean "ghost"
2302
    t.date "last_activity_on"
2303
    t.boolean "notified_of_own_activity"
2304
    t.string "preferred_language"
2305
    t.integer "theme_id", limit: 2
B
Bob Van Landuyt 已提交
2306
    t.integer "accepted_term_id"
2307
    t.string "feed_token"
2308
    t.boolean "private_profile"
2309
    t.boolean "include_private_contributions"
2310
    t.string "commit_email"
A
Andrew8xx8 已提交
2311 2312
  end

D
Dmitriy Zaporozhets 已提交
2313 2314
  add_index "users", ["admin"], name: "index_users_on_admin", using: :btree
  add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree
2315
  add_index "users", ["created_at"], name: "index_users_on_created_at", using: :btree
D
Dmitriy Zaporozhets 已提交
2316
  add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
2317
  add_index "users", ["email"], name: "index_users_on_email_trigram", using: :gin, opclasses: {"email"=>"gin_trgm_ops"}
2318
  add_index "users", ["feed_token"], name: "index_users_on_feed_token", using: :btree
2319
  add_index "users", ["ghost"], name: "index_users_on_ghost", using: :btree
2320
  add_index "users", ["incoming_email_token"], name: "index_users_on_incoming_email_token", using: :btree
D
Dmitriy Zaporozhets 已提交
2321
  add_index "users", ["name"], name: "index_users_on_name", using: :btree
2322
  add_index "users", ["name"], name: "index_users_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2323
  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
S
Stan Hu 已提交
2324
  add_index "users", ["state"], name: "index_users_on_state", using: :btree
D
Dmitriy Zaporozhets 已提交
2325
  add_index "users", ["username"], name: "index_users_on_username", using: :btree
2326
  add_index "users", ["username"], name: "index_users_on_username_trigram", using: :gin, opclasses: {"username"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2327

V
Valery Sizov 已提交
2328
  create_table "users_star_projects", force: :cascade do |t|
2329 2330
    t.integer "project_id", null: false
    t.integer "user_id", null: false
C
Ciro Santilli 已提交
2331 2332 2333 2334 2335 2336 2337
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "users_star_projects", ["project_id"], name: "index_users_star_projects_on_project_id", using: :btree
  add_index "users_star_projects", ["user_id", "project_id"], name: "index_users_star_projects_on_user_id_and_project_id", unique: true, using: :btree

A
Alexander Randa 已提交
2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352
  create_table "web_hook_logs", force: :cascade do |t|
    t.integer "web_hook_id", null: false
    t.string "trigger"
    t.string "url"
    t.text "request_headers"
    t.text "request_data"
    t.text "response_headers"
    t.text "response_body"
    t.string "response_status"
    t.float "execution_duration"
    t.string "internal_error_message"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

2353
  add_index "web_hook_logs", ["created_at", "web_hook_id"], name: "index_web_hook_logs_on_created_at_and_web_hook_id", using: :btree
A
Alexander Randa 已提交
2354
  add_index "web_hook_logs", ["web_hook_id"], name: "index_web_hook_logs_on_web_hook_id", using: :btree
C
Ciro Santilli 已提交
2355

V
Valery Sizov 已提交
2356
  create_table "web_hooks", force: :cascade do |t|
2357
    t.integer "project_id"
2358 2359
    t.datetime "created_at"
    t.datetime "updated_at"
2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370
    t.string "type", default: "ProjectHook"
    t.integer "service_id"
    t.boolean "push_events", default: true, null: false
    t.boolean "issues_events", default: false, null: false
    t.boolean "merge_requests_events", default: false, null: false
    t.boolean "tag_push_events", default: false
    t.boolean "note_events", default: false, null: false
    t.boolean "enable_ssl_verification", default: true
    t.boolean "wiki_page_events", default: false, null: false
    t.boolean "pipeline_events", default: false, null: false
    t.boolean "confidential_issues_events", default: false, null: false
G
Gabriel Mazetto 已提交
2371
    t.boolean "repository_update_events", default: false, null: false
L
Luke "Jared" Bennett 已提交
2372
    t.boolean "job_events", default: false, null: false
2373
    t.boolean "confidential_note_events"
D
Duana Saskia 已提交
2374
    t.text "push_events_branch_filter"
2375 2376 2377 2378
    t.string "encrypted_token"
    t.string "encrypted_token_iv"
    t.string "encrypted_url"
    t.string "encrypted_url_iv"
A
Andrew8xx8 已提交
2379 2380
  end

D
Dmitriy Zaporozhets 已提交
2381
  add_index "web_hooks", ["project_id"], name: "index_web_hooks_on_project_id", using: :btree
J
James Lopez 已提交
2382
  add_index "web_hooks", ["type"], name: "index_web_hooks_on_type", using: :btree
D
Dmitriy Zaporozhets 已提交
2383

2384
  add_foreign_key "application_settings", "users", column: "usage_stats_set_by_user_id", name: "fk_964370041d", on_delete: :nullify
2385 2386
  add_foreign_key "badges", "namespaces", column: "group_id", on_delete: :cascade
  add_foreign_key "badges", "projects", on_delete: :cascade
2387 2388 2389 2390 2391 2392
  add_foreign_key "board_group_recent_visits", "boards", on_delete: :cascade
  add_foreign_key "board_group_recent_visits", "namespaces", column: "group_id", on_delete: :cascade
  add_foreign_key "board_group_recent_visits", "users", on_delete: :cascade
  add_foreign_key "board_project_recent_visits", "boards", on_delete: :cascade
  add_foreign_key "board_project_recent_visits", "projects", on_delete: :cascade
  add_foreign_key "board_project_recent_visits", "users", on_delete: :cascade
F
Felipe Artur 已提交
2393
  add_foreign_key "boards", "namespaces", column: "group_id", on_delete: :cascade
2394
  add_foreign_key "boards", "projects", name: "fk_f15266b5f9", on_delete: :cascade
2395
  add_foreign_key "chat_teams", "namespaces", on_delete: :cascade
2396
  add_foreign_key "ci_build_trace_chunks", "ci_builds", column: "build_id", on_delete: :cascade
2397 2398 2399 2400
  add_foreign_key "ci_build_trace_section_names", "projects", on_delete: :cascade
  add_foreign_key "ci_build_trace_sections", "ci_build_trace_section_names", column: "section_name_id", name: "fk_264e112c66", on_delete: :cascade
  add_foreign_key "ci_build_trace_sections", "ci_builds", column: "build_id", name: "fk_4ebe41f502", on_delete: :cascade
  add_foreign_key "ci_build_trace_sections", "projects", on_delete: :cascade
2401
  add_foreign_key "ci_builds", "ci_pipelines", column: "auto_canceled_by_id", name: "fk_a2141b1522", on_delete: :nullify
2402
  add_foreign_key "ci_builds", "ci_pipelines", column: "commit_id", name: "fk_d3130c9a7f", on_delete: :cascade
2403
  add_foreign_key "ci_builds", "ci_stages", column: "stage_id", name: "fk_3a9eaa254d", on_delete: :cascade
2404
  add_foreign_key "ci_builds", "projects", name: "fk_befce0568a", on_delete: :cascade
2405
  add_foreign_key "ci_builds_metadata", "ci_builds", column: "build_id", on_delete: :cascade
2406
  add_foreign_key "ci_builds_metadata", "projects", on_delete: :cascade
F
Francisco Javier López 已提交
2407
  add_foreign_key "ci_builds_runner_session", "ci_builds", column: "build_id", on_delete: :cascade
S
Shinya Maeda 已提交
2408
  add_foreign_key "ci_group_variables", "namespaces", column: "group_id", name: "fk_33ae4d58d8", on_delete: :cascade
Z
Zeger-Jan van de Weg 已提交
2409
  add_foreign_key "ci_job_artifacts", "ci_builds", column: "job_id", on_delete: :cascade
2410
  add_foreign_key "ci_job_artifacts", "projects", on_delete: :cascade
S
fix  
Shinya Maeda 已提交
2411
  add_foreign_key "ci_pipeline_schedule_variables", "ci_pipeline_schedules", column: "pipeline_schedule_id", name: "fk_41c35fda51", on_delete: :cascade
2412
  add_foreign_key "ci_pipeline_schedules", "projects", name: "fk_8ead60fcc4", on_delete: :cascade
2413
  add_foreign_key "ci_pipeline_schedules", "users", column: "owner_id", name: "fk_9ea99f58d2", on_delete: :nullify
S
init  
Shinya Maeda 已提交
2414
  add_foreign_key "ci_pipeline_variables", "ci_pipelines", column: "pipeline_id", name: "fk_f29c5f4380", on_delete: :cascade
2415
  add_foreign_key "ci_pipelines", "ci_pipeline_schedules", column: "pipeline_schedule_id", name: "fk_3d34ab2e06", on_delete: :nullify
2416
  add_foreign_key "ci_pipelines", "ci_pipelines", column: "auto_canceled_by_id", name: "fk_262d4c2d19", on_delete: :nullify
2417
  add_foreign_key "ci_pipelines", "projects", name: "fk_86635dbd80", on_delete: :cascade
2418
  add_foreign_key "ci_runner_namespaces", "ci_runners", column: "runner_id", on_delete: :cascade
2419
  add_foreign_key "ci_runner_namespaces", "namespaces", on_delete: :cascade
2420
  add_foreign_key "ci_runner_projects", "projects", name: "fk_4478a6f1e4", on_delete: :cascade
2421
  add_foreign_key "ci_stages", "ci_pipelines", column: "pipeline_id", name: "fk_fb57e6cc56", on_delete: :cascade
2422
  add_foreign_key "ci_stages", "projects", name: "fk_2360681d1d", on_delete: :cascade
2423
  add_foreign_key "ci_trigger_requests", "ci_triggers", column: "trigger_id", name: "fk_b8ec8b7245", on_delete: :cascade
2424
  add_foreign_key "ci_triggers", "projects", name: "fk_e3e63f966e", on_delete: :cascade
2425
  add_foreign_key "ci_triggers", "users", column: "owner_id", name: "fk_e8e10d1964", on_delete: :cascade
2426
  add_foreign_key "ci_variables", "projects", name: "fk_ada5eb64b3", on_delete: :cascade
T
Thong Kuah 已提交
2427 2428
  add_foreign_key "cluster_groups", "clusters", on_delete: :cascade
  add_foreign_key "cluster_groups", "namespaces", column: "group_id", on_delete: :cascade
S
Shinya Maeda 已提交
2429 2430 2431 2432 2433
  add_foreign_key "cluster_platforms_kubernetes", "clusters", on_delete: :cascade
  add_foreign_key "cluster_projects", "clusters", on_delete: :cascade
  add_foreign_key "cluster_projects", "projects", on_delete: :cascade
  add_foreign_key "cluster_providers_gcp", "clusters", on_delete: :cascade
  add_foreign_key "clusters", "users", on_delete: :nullify
2434
  add_foreign_key "clusters_applications_helm", "clusters", on_delete: :cascade
2435
  add_foreign_key "clusters_applications_ingress", "clusters", name: "fk_753a7b41c1", on_delete: :cascade
2436 2437
  add_foreign_key "clusters_applications_jupyter", "clusters", on_delete: :cascade
  add_foreign_key "clusters_applications_jupyter", "oauth_applications", on_delete: :nullify
C
Chris Baumbauer 已提交
2438
  add_foreign_key "clusters_applications_knative", "clusters", on_delete: :cascade
2439
  add_foreign_key "clusters_applications_prometheus", "clusters", name: "fk_557e773639", on_delete: :cascade
2440 2441
  add_foreign_key "clusters_applications_runners", "ci_runners", column: "runner_id", name: "fk_02de2ded36", on_delete: :nullify
  add_foreign_key "clusters_applications_runners", "clusters", on_delete: :cascade
2442 2443 2444
  add_foreign_key "clusters_kubernetes_namespaces", "cluster_projects", on_delete: :nullify
  add_foreign_key "clusters_kubernetes_namespaces", "clusters", on_delete: :cascade
  add_foreign_key "clusters_kubernetes_namespaces", "projects", on_delete: :nullify
2445
  add_foreign_key "container_repositories", "projects"
2446 2447 2448
  add_foreign_key "deploy_keys_projects", "projects", name: "fk_58a901ca7e", on_delete: :cascade
  add_foreign_key "deployments", "projects", name: "fk_b9a3851b82", on_delete: :cascade
  add_foreign_key "environments", "projects", name: "fk_d1c8c1da6a", on_delete: :cascade
2449 2450
  add_foreign_key "events", "projects", on_delete: :cascade
  add_foreign_key "events", "users", column: "author_id", name: "fk_edfd187b6f", on_delete: :cascade
2451 2452 2453
  add_foreign_key "fork_network_members", "fork_networks", on_delete: :cascade
  add_foreign_key "fork_network_members", "projects", column: "forked_from_project_id", name: "fk_b01280dae4", on_delete: :nullify
  add_foreign_key "fork_network_members", "projects", on_delete: :cascade
B
Bob Van Landuyt 已提交
2454
  add_foreign_key "fork_networks", "projects", column: "root_project_id", name: "fk_e7b436b2b5", on_delete: :nullify
2455
  add_foreign_key "forked_project_links", "projects", column: "forked_to_project_id", name: "fk_434510edb0", on_delete: :cascade
S
Shinya Maeda 已提交
2456 2457 2458
  add_foreign_key "gcp_clusters", "projects", on_delete: :cascade
  add_foreign_key "gcp_clusters", "services", on_delete: :nullify
  add_foreign_key "gcp_clusters", "users", on_delete: :nullify
2459
  add_foreign_key "gpg_key_subkeys", "gpg_keys", on_delete: :cascade
2460
  add_foreign_key "gpg_keys", "users", on_delete: :cascade
2461
  add_foreign_key "gpg_signatures", "gpg_key_subkeys", on_delete: :nullify
2462 2463
  add_foreign_key "gpg_signatures", "gpg_keys", on_delete: :nullify
  add_foreign_key "gpg_signatures", "projects", on_delete: :cascade
2464
  add_foreign_key "group_custom_attributes", "namespaces", column: "group_id", on_delete: :cascade
2465
  add_foreign_key "import_export_uploads", "projects", on_delete: :cascade
2466
  add_foreign_key "internal_ids", "namespaces", name: "fk_162941d509", on_delete: :cascade
2467
  add_foreign_key "internal_ids", "projects", on_delete: :cascade
2468 2469
  add_foreign_key "issue_assignees", "issues", name: "fk_b7d881734a", on_delete: :cascade
  add_foreign_key "issue_assignees", "users", name: "fk_5e0c8d9154", on_delete: :cascade
T
Timothy Andrew 已提交
2470
  add_foreign_key "issue_metrics", "issues", on_delete: :cascade
2471 2472
  add_foreign_key "issues", "issues", column: "moved_to_id", name: "fk_a194299be1", on_delete: :nullify
  add_foreign_key "issues", "milestones", name: "fk_96b1dd429c", on_delete: :nullify
2473
  add_foreign_key "issues", "projects", name: "fk_899c8f3231", on_delete: :cascade
2474
  add_foreign_key "issues", "users", column: "author_id", name: "fk_05f1e72feb", on_delete: :nullify
H
haseeb 已提交
2475
  add_foreign_key "issues", "users", column: "closed_by_id", name: "fk_c63cbf6c25", on_delete: :nullify
2476
  add_foreign_key "issues", "users", column: "updated_by_id", name: "fk_ffed080f01", on_delete: :nullify
S
Stan Hu 已提交
2477
  add_foreign_key "label_links", "labels", name: "fk_d97dd08678", on_delete: :cascade
2478 2479
  add_foreign_key "label_priorities", "labels", on_delete: :cascade
  add_foreign_key "label_priorities", "projects", on_delete: :cascade
D
Douglas Barbosa Alexandre 已提交
2480
  add_foreign_key "labels", "namespaces", column: "group_id", on_delete: :cascade
2481
  add_foreign_key "labels", "projects", name: "fk_7de4989a69", on_delete: :cascade
2482 2483
  add_foreign_key "lfs_file_locks", "projects", on_delete: :cascade
  add_foreign_key "lfs_file_locks", "users", on_delete: :cascade
2484 2485
  add_foreign_key "lists", "boards", name: "fk_0d3f677137", on_delete: :cascade
  add_foreign_key "lists", "labels", name: "fk_7a5553d60f", on_delete: :cascade
2486
  add_foreign_key "members", "users", name: "fk_2e88fb7ce9", on_delete: :cascade
2487
  add_foreign_key "merge_request_diff_commits", "merge_request_diffs", on_delete: :cascade
2488
  add_foreign_key "merge_request_diff_files", "merge_request_diffs", on_delete: :cascade
2489
  add_foreign_key "merge_request_diffs", "merge_requests", name: "fk_8483f3258f", on_delete: :cascade
K
Kamil Trzciński 已提交
2490
  add_foreign_key "merge_request_metrics", "ci_pipelines", column: "pipeline_id", on_delete: :cascade
T
Timothy Andrew 已提交
2491
  add_foreign_key "merge_request_metrics", "merge_requests", on_delete: :cascade
2492 2493
  add_foreign_key "merge_request_metrics", "users", column: "latest_closed_by_id", name: "fk_ae440388cc", on_delete: :nullify
  add_foreign_key "merge_request_metrics", "users", column: "merged_by_id", name: "fk_7f28d925f3", on_delete: :nullify
2494
  add_foreign_key "merge_requests", "ci_pipelines", column: "head_pipeline_id", name: "fk_fd82eae0b9", on_delete: :nullify
2495
  add_foreign_key "merge_requests", "merge_request_diffs", column: "latest_merge_request_diff_id", name: "fk_06067f5644", on_delete: :nullify
2496 2497
  add_foreign_key "merge_requests", "milestones", name: "fk_6a5165a692", on_delete: :nullify
  add_foreign_key "merge_requests", "projects", column: "source_project_id", name: "fk_3308fe130c", on_delete: :nullify
2498
  add_foreign_key "merge_requests", "projects", column: "target_project_id", name: "fk_a6963e8447", on_delete: :cascade
2499 2500 2501 2502
  add_foreign_key "merge_requests", "users", column: "assignee_id", name: "fk_6149611a04", on_delete: :nullify
  add_foreign_key "merge_requests", "users", column: "author_id", name: "fk_e719a85f8a", on_delete: :nullify
  add_foreign_key "merge_requests", "users", column: "merge_user_id", name: "fk_ad525e1f87", on_delete: :nullify
  add_foreign_key "merge_requests", "users", column: "updated_by_id", name: "fk_641731faff", on_delete: :nullify
T
Timothy Andrew 已提交
2503 2504
  add_foreign_key "merge_requests_closing_issues", "issues", on_delete: :cascade
  add_foreign_key "merge_requests_closing_issues", "merge_requests", on_delete: :cascade
F
Felipe Artur 已提交
2505
  add_foreign_key "milestones", "namespaces", column: "group_id", name: "fk_95650a40d4", on_delete: :cascade
2506
  add_foreign_key "milestones", "projects", name: "fk_9bd0a0c791", on_delete: :cascade
2507
  add_foreign_key "note_diff_files", "notes", column: "diff_note_id", on_delete: :cascade
2508
  add_foreign_key "notes", "projects", name: "fk_99e097b079", on_delete: :cascade
2509
  add_foreign_key "notification_settings", "users", name: "fk_0c95e91db7", on_delete: :cascade
2510
  add_foreign_key "oauth_openid_requests", "oauth_access_grants", column: "access_grant_id", name: "fk_oauth_openid_requests_oauth_access_grants_access_grant_id"
2511
  add_foreign_key "pages_domains", "projects", name: "fk_ea2f6dfc6f", on_delete: :cascade
2512
  add_foreign_key "personal_access_tokens", "users"
2513 2514
  add_foreign_key "project_authorizations", "projects", on_delete: :cascade
  add_foreign_key "project_authorizations", "users", on_delete: :cascade
2515
  add_foreign_key "project_auto_devops", "projects", on_delete: :cascade
2516
  add_foreign_key "project_ci_cd_settings", "projects", name: "fk_24c15d2f2e", on_delete: :cascade
2517
  add_foreign_key "project_custom_attributes", "projects", on_delete: :cascade
K
Kamil Trzciński 已提交
2518 2519
  add_foreign_key "project_deploy_tokens", "deploy_tokens", on_delete: :cascade
  add_foreign_key "project_deploy_tokens", "projects", on_delete: :cascade
2520 2521 2522
  add_foreign_key "project_features", "projects", name: "fk_18513d9b92", on_delete: :cascade
  add_foreign_key "project_group_links", "projects", name: "fk_daa8cee94c", on_delete: :cascade
  add_foreign_key "project_import_data", "projects", name: "fk_ffb9ee3a10", on_delete: :cascade
2523
  add_foreign_key "project_mirror_data", "projects", on_delete: :cascade
M
Markus Koller 已提交
2524
  add_foreign_key "project_statistics", "projects", on_delete: :cascade
N
Nick Thomas 已提交
2525
  add_foreign_key "projects", "repositories", column: "pool_repository_id", name: "fk_6e5c14658a", on_delete: :nullify
2526
  add_foreign_key "prometheus_metrics", "projects", on_delete: :cascade
2527 2528 2529
  add_foreign_key "protected_branch_merge_access_levels", "protected_branches", name: "fk_8a3072ccb3", on_delete: :cascade
  add_foreign_key "protected_branch_push_access_levels", "protected_branches", name: "fk_9ffc86a3d9", on_delete: :cascade
  add_foreign_key "protected_branches", "projects", name: "fk_7a9c6d93e7", on_delete: :cascade
2530
  add_foreign_key "protected_tag_create_access_levels", "namespaces", column: "group_id"
2531
  add_foreign_key "protected_tag_create_access_levels", "protected_tags", name: "fk_f7dfda8c51", on_delete: :cascade
2532
  add_foreign_key "protected_tag_create_access_levels", "users"
2533
  add_foreign_key "protected_tags", "projects", name: "fk_8e4af87648", on_delete: :cascade
2534
  add_foreign_key "push_event_payloads", "events", name: "fk_36c74129da", on_delete: :cascade
2535
  add_foreign_key "releases", "projects", name: "fk_47fe2a0596", on_delete: :cascade
2536
  add_foreign_key "remote_mirrors", "projects", on_delete: :cascade
N
Nick Thomas 已提交
2537
  add_foreign_key "repositories", "shards", on_delete: :restrict
2538
  add_foreign_key "repository_languages", "projects", on_delete: :cascade
J
Jan Provaznik 已提交
2539 2540 2541 2542
  add_foreign_key "resource_label_events", "issues", on_delete: :cascade
  add_foreign_key "resource_label_events", "labels", on_delete: :nullify
  add_foreign_key "resource_label_events", "merge_requests", on_delete: :cascade
  add_foreign_key "resource_label_events", "users", on_delete: :nullify
2543 2544
  add_foreign_key "services", "projects", name: "fk_71cce407f9", on_delete: :cascade
  add_foreign_key "snippets", "projects", name: "fk_be41fd4bb7", on_delete: :cascade
2545
  add_foreign_key "subscriptions", "projects", on_delete: :cascade
J
Jarka Kadlecova 已提交
2546
  add_foreign_key "system_note_metadata", "notes", name: "fk_d83a918cb1", on_delete: :cascade
2547 2548
  add_foreign_key "term_agreements", "application_setting_terms", column: "term_id"
  add_foreign_key "term_agreements", "users", on_delete: :cascade
2549 2550
  add_foreign_key "timelogs", "issues", name: "fk_timelogs_issues_issue_id", on_delete: :cascade
  add_foreign_key "timelogs", "merge_requests", name: "fk_timelogs_merge_requests_merge_request_id", on_delete: :cascade
2551
  add_foreign_key "todos", "namespaces", column: "group_id", on_delete: :cascade
2552
  add_foreign_key "todos", "notes", name: "fk_91d1f47b13", on_delete: :cascade
2553
  add_foreign_key "todos", "projects", name: "fk_45054f9c45", on_delete: :cascade
2554 2555
  add_foreign_key "todos", "users", column: "author_id", name: "fk_ccf0373936", on_delete: :cascade
  add_foreign_key "todos", "users", name: "fk_d94154aa95", on_delete: :cascade
Y
Yorick Peterse 已提交
2556
  add_foreign_key "trending_projects", "projects", on_delete: :cascade
2557
  add_foreign_key "u2f_registrations", "users"
M
Matija Čupić 已提交
2558
  add_foreign_key "user_callouts", "users", on_delete: :cascade
2559
  add_foreign_key "user_custom_attributes", "users", on_delete: :cascade
2560 2561
  add_foreign_key "user_interacted_projects", "projects", name: "fk_722ceba4f7", on_delete: :cascade
  add_foreign_key "user_interacted_projects", "users", name: "fk_0894651f08", on_delete: :cascade
2562
  add_foreign_key "user_preferences", "users", on_delete: :cascade
B
Bob Van Landuyt 已提交
2563
  add_foreign_key "user_statuses", "users", on_delete: :cascade
2564
  add_foreign_key "user_synced_attributes_metadata", "users", on_delete: :cascade
B
Bob Van Landuyt 已提交
2565
  add_foreign_key "users", "application_setting_terms", column: "accepted_term_id", name: "fk_789cd90b35", on_delete: :cascade
2566
  add_foreign_key "users_star_projects", "projects", name: "fk_22cd27ddfc", on_delete: :cascade
A
Alexander Randa 已提交
2567
  add_foreign_key "web_hook_logs", "web_hooks", on_delete: :cascade
2568
  add_foreign_key "web_hooks", "projects", name: "fk_0c8ca6d9d1", on_delete: :cascade
2569
end