schema.rb 123.7 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: 20181107054254) 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 170
  end

V
Valery Sizov 已提交
171
  create_table "audit_events", force: :cascade do |t|
172 173 174 175 176
    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 已提交
177 178 179 180 181 182
    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

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

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

195 196 197 198 199 200 201 202 203 204 205 206 207
  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

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
  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 已提交
234
  create_table "boards", force: :cascade do |t|
F
Felipe Artur 已提交
235
    t.integer "project_id"
D
Douglas Barbosa Alexandre 已提交
236 237
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
F
Felipe Artur 已提交
238
    t.integer "group_id"
D
Douglas Barbosa Alexandre 已提交
239 240
  end

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

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

256 257
  add_index "broadcast_messages", ["starts_at", "ends_at", "id"], name: "index_broadcast_messages_on_starts_at_and_ends_at_and_id", using: :btree

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

K
Kamil Trzcinski 已提交
270
  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
271 272
  add_index "chat_names", ["user_id", "service_id"], name: "index_chat_names_on_user_id_and_service_id", unique: true, using: :btree

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

281
  add_index "chat_teams", ["namespace_id"], name: "index_chat_teams_on_namespace_id", unique: true, using: :btree
282

283 284 285 286 287 288 289 290 291
  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

292 293 294 295 296 297 298 299
  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 已提交
300
    t.integer "project_id", null: false
301 302 303 304 305 306 307 308 309 310
    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
311
  add_index "ci_build_trace_sections", ["section_name_id"], name: "index_ci_build_trace_sections_on_section_name_id", using: :btree
312

V
Valery Sizov 已提交
313
  create_table "ci_builds", force: :cascade do |t|
314
    t.string "status"
D
Douwe Maan 已提交
315
    t.datetime "finished_at"
316
    t.text "trace"
D
Douwe Maan 已提交
317 318 319
    t.datetime "created_at"
    t.datetime "updated_at"
    t.datetime "started_at"
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
    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 已提交
337
    t.integer "project_id"
338 339
    t.text "artifacts_metadata"
    t.integer "erased_by_id"
340
    t.datetime "erased_at"
341
    t.datetime "artifacts_expire_at"
342 343 344 345
    t.string "environment"
    t.integer "artifacts_size", limit: 8
    t.string "when"
    t.text "yaml_variables"
346
    t.datetime "queued_at"
347
    t.string "token"
K
Kamil Trzcinski 已提交
348
    t.integer "lock_version"
349
    t.string "coverage_regex"
350
    t.integer "auto_canceled_by_id"
K
Kamil Trzcinski 已提交
351
    t.boolean "retried"
352
    t.integer "stage_id"
353 354
    t.integer "artifacts_file_store"
    t.integer "artifacts_metadata_store"
355
    t.boolean "protected"
356
    t.integer "failure_reason"
357
    t.datetime_with_timezone "scheduled_at"
D
Douwe Maan 已提交
358 359
  end

360
  add_index "ci_builds", ["artifacts_expire_at"], name: "index_ci_builds_on_artifacts_expire_at", where: "(artifacts_file <> ''::text)", using: :btree
361
  add_index "ci_builds", ["auto_canceled_by_id"], name: "index_ci_builds_on_auto_canceled_by_id", using: :btree
K
Kamil Trzcinski 已提交
362
  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
363
  add_index "ci_builds", ["commit_id", "status", "type"], name: "index_ci_builds_on_commit_id_and_status_and_type", using: :btree
K
Kamil Trzcinski 已提交
364 365
  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 已提交
366
  add_index "ci_builds", ["id"], name: "partial_index_ci_builds_on_id_with_legacy_artifacts", where: "(artifacts_file <> ''::text)", using: :btree
367
  add_index "ci_builds", ["project_id", "id"], name: "index_ci_builds_on_project_id_and_id", using: :btree
368
  add_index "ci_builds", ["protected"], name: "index_ci_builds_on_protected", using: :btree
D
Douwe Maan 已提交
369
  add_index "ci_builds", ["runner_id"], name: "index_ci_builds_on_runner_id", using: :btree
370
  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
371
  add_index "ci_builds", ["stage_id", "stage_idx"], name: "tmp_build_stage_position_index", where: "(stage_idx IS NOT NULL)", using: :btree
372
  add_index "ci_builds", ["stage_id"], name: "index_ci_builds_on_stage_id", using: :btree
373
  add_index "ci_builds", ["status", "type", "runner_id"], name: "index_ci_builds_on_status_and_type_and_runner_id", using: :btree
K
Kamil Trzcinski 已提交
374
  add_index "ci_builds", ["token"], name: "index_ci_builds_on_token", unique: true, using: :btree
B
blackst0ne 已提交
375
  add_index "ci_builds", ["updated_at"], name: "index_ci_builds_on_updated_at", using: :btree
B
blackst0ne 已提交
376
  add_index "ci_builds", ["user_id"], name: "index_ci_builds_on_user_id", using: :btree
D
Douwe Maan 已提交
377

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

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

F
Francisco Javier López 已提交
388 389 390 391 392 393 394 395 396
  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 已提交
397
  create_table "ci_group_variables", force: :cascade do |t|
398 399 400 401 402
    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 已提交
403 404
    t.integer "group_id", null: false
    t.boolean "protected", default: false, null: false
405 406
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
407 408
  end

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

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

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

S
fix  
Shinya Maeda 已提交
431
  create_table "ci_pipeline_schedule_variables", force: :cascade do |t|
S
Shinya Maeda 已提交
432 433 434 435 436
    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 已提交
437
    t.integer "pipeline_schedule_id", null: false
438 439
    t.datetime_with_timezone "created_at"
    t.datetime_with_timezone "updated_at"
S
Shinya Maeda 已提交
440 441
  end

S
fix  
Shinya Maeda 已提交
442
  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 已提交
443

444 445 446 447 448 449 450 451 452
  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 已提交
453 454 455 456
    t.datetime "created_at"
    t.datetime "updated_at"
  end

457 458
  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 已提交
459

S
init  
Shinya Maeda 已提交
460 461 462 463 464 465 466 467 468 469 470
  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 已提交
471
  create_table "ci_pipelines", force: :cascade do |t|
472 473 474
    t.string "ref"
    t.string "sha"
    t.string "before_sha"
D
Douwe Maan 已提交
475 476
    t.datetime "created_at"
    t.datetime "updated_at"
477 478
    t.boolean "tag", default: false
    t.text "yaml_errors"
D
Douwe Maan 已提交
479
    t.datetime "committed_at"
K
Kamil Trzciński 已提交
480
    t.integer "project_id"
481
    t.string "status"
482 483
    t.datetime "started_at"
    t.datetime "finished_at"
484 485
    t.integer "duration"
    t.integer "user_id"
K
Kamil Trzcinski 已提交
486
    t.integer "lock_version"
487
    t.integer "auto_canceled_by_id"
488
    t.integer "pipeline_schedule_id"
489
    t.integer "source"
K
Kamil Trzcinski 已提交
490
    t.integer "config_source"
491
    t.boolean "protected"
492
    t.integer "failure_reason"
S
Shinya Maeda 已提交
493
    t.integer "iid"
D
Douwe Maan 已提交
494 495
  end

496
  add_index "ci_pipelines", ["auto_canceled_by_id"], name: "index_ci_pipelines_on_auto_canceled_by_id", using: :btree
497
  add_index "ci_pipelines", ["pipeline_schedule_id"], name: "index_ci_pipelines_on_pipeline_schedule_id", using: :btree
S
Shinya Maeda 已提交
498
  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
499
  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 已提交
500
  add_index "ci_pipelines", ["project_id", "sha"], name: "index_ci_pipelines_on_project_id_and_sha", using: :btree
501
  add_index "ci_pipelines", ["project_id", "source"], name: "index_ci_pipelines_on_project_id_and_source", using: :btree
502
  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 已提交
503 504 505
  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 已提交
506

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

512 513
  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 已提交
514

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

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

V
Valery Sizov 已提交
525
  create_table "ci_runners", force: :cascade do |t|
526
    t.string "token"
D
Douwe Maan 已提交
527 528
    t.datetime "created_at"
    t.datetime "updated_at"
529
    t.string "description"
D
Douwe Maan 已提交
530
    t.datetime "contacted_at"
531 532 533 534 535 536 537 538 539
    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
540
    t.integer "access_level", default: 0, null: false
541
    t.string "ip_address"
T
Tomasz Maczukin 已提交
542
    t.integer "maximum_timeout"
543
    t.integer "runner_type", limit: 2, null: false
D
Douwe Maan 已提交
544 545
  end

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

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

563
  add_index "ci_stages", ["pipeline_id", "name"], name: "index_ci_stages_on_pipeline_id_and_name", unique: true, using: :btree
564
  add_index "ci_stages", ["pipeline_id", "position"], name: "index_ci_stages_on_pipeline_id_and_position", using: :btree
565 566
  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
567

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

576 577
  add_index "ci_trigger_requests", ["commit_id"], name: "index_ci_trigger_requests_on_commit_id", using: :btree

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

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

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

601
  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 已提交
602

T
Thong Kuah 已提交
603 604 605 606 607 608 609 610
  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 已提交
611 612
  create_table "cluster_platforms_kubernetes", force: :cascade do |t|
    t.integer "cluster_id", null: false
K
Kamil Trzcinski 已提交
613 614 615
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.text "api_url"
S
Shinya Maeda 已提交
616 617 618 619 620 621 622
    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"
623
    t.integer "authorization_type", limit: 2
S
Shinya Maeda 已提交
624 625 626 627 628 629 630
  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
631 632
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
S
Shinya Maeda 已提交
633 634 635 636 637 638 639 640
  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 已提交
641 642 643
    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 已提交
644 645 646 647 648 649 650 651
    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"
652
    t.boolean "legacy_abac", default: true, null: false
S
Shinya Maeda 已提交
653 654 655 656 657
  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|
658
    t.integer "user_id"
K
Kamil Trzcinski 已提交
659 660 661 662
    t.integer "provider_type"
    t.integer "platform_type"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
663 664
    t.boolean "enabled", default: true
    t.string "name", null: false
665
    t.string "environment_scope", default: "*", null: false
T
Thong Kuah 已提交
666
    t.integer "cluster_type", limit: 2, default: 3, null: false
S
Shinya Maeda 已提交
667 668
  end

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

672 673 674 675 676 677 678
  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"
679 680 681
    t.text "encrypted_ca_key"
    t.text "encrypted_ca_key_iv"
    t.text "ca_cert"
682
  end
683

K
Kamil Trzcinski 已提交
684 685 686 687 688 689 690 691 692
  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"
693
    t.string "external_ip"
K
Kamil Trzcinski 已提交
694 695
  end

696
  create_table "clusters_applications_jupyter", force: :cascade do |t|
697
    t.integer "cluster_id", null: false
698
    t.integer "oauth_application_id"
699 700 701 702 703
    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
704
    t.text "status_reason"
705 706
  end

707 708 709 710 711 712 713 714 715
  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

716 717 718 719 720 721 722 723
  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"
724
    t.boolean "privileged", default: true, null: false
725 726 727 728 729
  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

730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746
  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

747
  create_table "container_repositories", force: :cascade do |t|
748 749 750 751
    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 已提交
752 753
  end

754 755 756
  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

757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779
  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
780 781 782 783 784 785 786 787 788 789
    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
790
  end
D
Douwe Maan 已提交
791

V
Valery Sizov 已提交
792
  create_table "deploy_keys_projects", force: :cascade do |t|
793 794
    t.integer "deploy_key_id", null: false
    t.integer "project_id", null: false
795 796
    t.datetime "created_at"
    t.datetime "updated_at"
797
    t.boolean "can_push", default: false, null: false
798
  end
799

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

M
Mayra Cabrera 已提交
802 803
  create_table "deploy_tokens", force: :cascade do |t|
    t.boolean "revoked", default: false
K
Kamil Trzciński 已提交
804 805
    t.boolean "read_repository", default: false, null: false
    t.boolean "read_registry", default: false, null: false
806
    t.datetime_with_timezone "expires_at", null: false
M
Mayra Cabrera 已提交
807
    t.datetime_with_timezone "created_at", null: false
K
Kamil Trzciński 已提交
808 809
    t.string "name", null: false
    t.string "token", null: false
M
Mayra Cabrera 已提交
810 811
  end

812
  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 已提交
813 814
  add_index "deploy_tokens", ["token"], name: "index_deploy_tokens_on_token", unique: true, using: :btree

815
  create_table "deployments", force: :cascade do |t|
V
Valery Sizov 已提交
816 817 818 819 820 821
    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
822
    t.integer "user_id"
V
Valery Sizov 已提交
823 824
    t.integer "deployable_id"
    t.string "deployable_type"
825 826
    t.datetime "created_at"
    t.datetime "updated_at"
K
Kamil Trzcinski 已提交
827
    t.string "on_stop"
S
Shinya Maeda 已提交
828 829
    t.integer "status", limit: 2, default: 2, null: false
    t.datetime_with_timezone "finished_at"
830 831
  end

832
  add_index "deployments", ["created_at"], name: "index_deployments_on_created_at", using: :btree
833
  add_index "deployments", ["deployable_type", "deployable_id"], name: "index_deployments_on_deployable_type_and_deployable_id", using: :btree
834 835
  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 已提交
836 837 838
  add_index "deployments", ["environment_id", "sha"], name: "index_deployments_on_environment_id_and_sha", using: :btree
  add_index "deployments", ["environment_id", "status", "id"], name: "index_deployments_on_environment_id_and_status_and_id", using: :btree
  add_index "deployments", ["environment_id", "status", "iid"], name: "index_deployments_on_environment_id_and_status_and_iid", using: :btree
S
Shinya Maeda 已提交
839
  add_index "deployments", ["environment_id", "status"], name: "index_deployments_on_environment_id_and_status", using: :btree
S
Shinya Maeda 已提交
840
  add_index "deployments", ["id"], name: "partial_index_deployments_for_legacy_successful_deployments", where: "((finished_at IS NULL) AND (status = 2))", using: :btree
841
  add_index "deployments", ["project_id", "iid"], name: "index_deployments_on_project_id_and_iid", unique: true, using: :btree
S
Shinya Maeda 已提交
842 843
  add_index "deployments", ["project_id", "status", "id"], name: "index_deployments_on_project_id_and_status_and_id", using: :btree
  add_index "deployments", ["project_id", "status", "iid"], name: "index_deployments_on_project_id_and_status_and_iid", using: :btree
S
Shinya Maeda 已提交
844
  add_index "deployments", ["project_id", "status"], name: "index_deployments_on_project_id_and_status", using: :btree
845

V
Valery Sizov 已提交
846
  create_table "emails", force: :cascade do |t|
847 848
    t.integer "user_id", null: false
    t.string "email", null: false
849 850
    t.datetime "created_at"
    t.datetime "updated_at"
851
    t.string "confirmation_token"
852 853
    t.datetime_with_timezone "confirmed_at"
    t.datetime_with_timezone "confirmation_sent_at"
854 855
  end

856
  add_index "emails", ["confirmation_token"], name: "index_emails_on_confirmation_token", unique: true, using: :btree
857 858 859
  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

860
  create_table "environments", force: :cascade do |t|
861
    t.integer "project_id", null: false
862
    t.string "name", null: false
863 864
    t.datetime "created_at"
    t.datetime "updated_at"
865 866
    t.string "external_url"
    t.string "environment_type"
867
    t.string "state", default: "available", null: false
N
Nick Thomas 已提交
868
    t.string "slug", null: false
869 870
  end

871
  add_index "environments", ["project_id", "name"], name: "index_environments_on_project_id_and_name", unique: true, using: :btree
N
Nick Thomas 已提交
872
  add_index "environments", ["project_id", "slug"], name: "index_environments_on_project_id_and_slug", unique: true, using: :btree
873

V
Valery Sizov 已提交
874
  create_table "events", force: :cascade do |t|
875 876 877
    t.integer "project_id"
    t.integer "author_id", null: false
    t.integer "target_id"
878 879
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
880 881 882 883
    t.integer "action", limit: 2, null: false
    t.string "target_type"
  end

884
  add_index "events", ["action"], name: "index_events_on_action", using: :btree
A
Andreas Brandl 已提交
885
  add_index "events", ["author_id", "project_id"], name: "index_events_on_author_id_and_project_id", using: :btree
886 887
  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
888

889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906
  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

907 908 909 910 911 912 913 914 915
  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 已提交
916 917 918 919 920 921 922
  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 已提交
923
  create_table "forked_project_links", force: :cascade do |t|
924 925
    t.integer "forked_to_project_id", null: false
    t.integer "forked_from_project_id", null: false
926 927
    t.datetime "created_at"
    t.datetime "updated_at"
928 929
  end

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

S
Shinya Maeda 已提交
932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960
  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

961
  create_table "gpg_key_subkeys", force: :cascade do |t|
962
    t.integer "gpg_key_id", null: false
963 964 965 966
    t.binary "keyid"
    t.binary "fingerprint"
  end

967
  add_index "gpg_key_subkeys", ["fingerprint"], name: "index_gpg_key_subkeys_on_fingerprint", unique: true, using: :btree
968
  add_index "gpg_key_subkeys", ["gpg_key_id"], name: "index_gpg_key_subkeys_on_gpg_key_id", using: :btree
969
  add_index "gpg_key_subkeys", ["keyid"], name: "index_gpg_key_subkeys_on_keyid", unique: true, using: :btree
970

A
Alexis Reigel 已提交
971
  create_table "gpg_keys", force: :cascade do |t|
972 973
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
974
    t.integer "user_id"
975 976
    t.binary "primary_keyid"
    t.binary "fingerprint"
977
    t.text "key"
A
Alexis Reigel 已提交
978 979
  end

A
Alexis Reigel 已提交
980 981
  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 已提交
982 983
  add_index "gpg_keys", ["user_id"], name: "index_gpg_keys_on_user_id", using: :btree

984
  create_table "gpg_signatures", force: :cascade do |t|
985 986
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
987 988
    t.integer "project_id"
    t.integer "gpg_key_id"
989 990
    t.binary "commit_sha"
    t.binary "gpg_key_primary_keyid"
991 992
    t.text "gpg_key_user_name"
    t.text "gpg_key_user_email"
993
    t.integer "verification_status", limit: 2, default: 0, null: false
994
    t.integer "gpg_key_subkey_id"
995 996
  end

997
  add_index "gpg_signatures", ["commit_sha"], name: "index_gpg_signatures_on_commit_sha", unique: true, using: :btree
998 999
  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
1000
  add_index "gpg_signatures", ["gpg_key_subkey_id"], name: "index_gpg_signatures_on_gpg_key_subkey_id", using: :btree
1001 1002
  add_index "gpg_signatures", ["project_id"], name: "index_gpg_signatures_on_project_id", using: :btree

1003
  create_table "group_custom_attributes", force: :cascade do |t|
1004 1005
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1006 1007 1008 1009 1010 1011 1012 1013
    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 已提交
1014
  create_table "identities", force: :cascade do |t|
1015 1016 1017
    t.string "extern_uid"
    t.string "provider"
    t.integer "user_id"
D
Dmitriy Zaporozhets 已提交
1018 1019
    t.datetime "created_at"
    t.datetime "updated_at"
1020 1021 1022 1023
  end

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

1024 1025 1026 1027 1028 1029 1030 1031 1032 1033
  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

1034
  create_table "internal_ids", id: :bigserial, force: :cascade do |t|
1035
    t.integer "project_id"
1036 1037
    t.integer "usage", null: false
    t.integer "last_value", null: false
1038
    t.integer "namespace_id"
1039 1040
  end

1041 1042
  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
1043

1044
  create_table "issue_assignees", id: false, force: :cascade do |t|
1045 1046 1047 1048 1049 1050 1051
    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 已提交
1052
  create_table "issue_metrics", force: :cascade do |t|
1053
    t.integer "issue_id", null: false
1054
    t.datetime "first_mentioned_in_commit_at"
T
Timothy Andrew 已提交
1055 1056
    t.datetime "first_associated_with_milestone_at"
    t.datetime "first_added_to_board_at"
1057 1058
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
T
Timothy Andrew 已提交
1059 1060 1061 1062
  end

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

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

D
Dmitriy Zaporozhets 已提交
1090
  add_index "issues", ["author_id"], name: "index_issues_on_author_id", using: :btree
1091
  add_index "issues", ["confidential"], name: "index_issues_on_confidential", using: :btree
1092
  add_index "issues", ["description"], name: "index_issues_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1093
  add_index "issues", ["milestone_id"], name: "index_issues_on_milestone_id", using: :btree
1094
  add_index "issues", ["moved_to_id"], name: "index_issues_on_moved_to_id", where: "(moved_to_id IS NOT NULL)", using: :btree
1095
  add_index "issues", ["project_id", "created_at", "id", "state"], name: "index_issues_on_project_id_and_created_at_and_id_and_state", using: :btree
1096
  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
1097
  add_index "issues", ["project_id", "iid"], name: "index_issues_on_project_id_and_iid", unique: true, using: :btree
1098
  add_index "issues", ["project_id", "updated_at", "id", "state"], name: "index_issues_on_project_id_and_updated_at_and_id_and_state", using: :btree
1099
  add_index "issues", ["relative_position"], name: "index_issues_on_relative_position", using: :btree
1100
  add_index "issues", ["state"], name: "index_issues_on_state", using: :btree
1101
  add_index "issues", ["title"], name: "index_issues_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
1102
  add_index "issues", ["updated_at"], name: "index_issues_on_updated_at", using: :btree
1103
  add_index "issues", ["updated_by_id"], name: "index_issues_on_updated_by_id", where: "(updated_by_id IS NOT NULL)", using: :btree
A
Andrew8xx8 已提交
1104

V
Valery Sizov 已提交
1105
  create_table "keys", force: :cascade do |t|
1106
    t.integer "user_id"
1107 1108
    t.datetime "created_at"
    t.datetime "updated_at"
1109 1110 1111 1112 1113
    t.text "key"
    t.string "title"
    t.string "type"
    t.string "fingerprint"
    t.boolean "public", default: false, null: false
1114
    t.datetime "last_used_at"
A
Andrew8xx8 已提交
1115 1116
  end

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

V
Valery Sizov 已提交
1120
  create_table "label_links", force: :cascade do |t|
1121 1122 1123
    t.integer "label_id"
    t.integer "target_id"
    t.string "target_type"
1124 1125 1126 1127
    t.datetime "created_at"
    t.datetime "updated_at"
  end

D
Dmitriy Zaporozhets 已提交
1128 1129 1130
  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

1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
  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 已提交
1142
  create_table "labels", force: :cascade do |t|
1143 1144 1145
    t.string "title"
    t.string "color"
    t.integer "project_id"
1146 1147
    t.datetime "created_at"
    t.datetime "updated_at"
1148 1149 1150
    t.boolean "template", default: false
    t.string "description"
    t.text "description_html"
D
Douglas Barbosa Alexandre 已提交
1151 1152
    t.string "type"
    t.integer "group_id"
1153
    t.integer "cached_markdown_version"
1154 1155
  end

1156
  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 已提交
1157
  add_index "labels", ["project_id"], name: "index_labels_on_project_id", using: :btree
1158
  add_index "labels", ["template"], name: "index_labels_on_template", where: "template", using: :btree
A
Ahmad Sherif 已提交
1159
  add_index "labels", ["title"], name: "index_labels_on_title", using: :btree
1160
  add_index "labels", ["type", "project_id"], name: "index_labels_on_type_and_project_id", using: :btree
D
Dmitriy Zaporozhets 已提交
1161

1162 1163 1164 1165 1166 1167 1168 1169 1170 1171
  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 已提交
1172
  create_table "lfs_objects", force: :cascade do |t|
1173 1174
    t.string "oid", null: false
    t.integer "size", limit: 8, null: false
M
Marin Jankovski 已提交
1175 1176
    t.datetime "created_at"
    t.datetime "updated_at"
1177
    t.string "file"
1178
    t.integer "file_store"
M
Marin Jankovski 已提交
1179 1180
  end

1181
  add_index "lfs_objects", ["file_store"], name: "index_lfs_objects_on_file_store", using: :btree
1182
  add_index "lfs_objects", ["oid"], name: "index_lfs_objects_on_oid", unique: true, using: :btree
M
Marin Jankovski 已提交
1183

V
Valery Sizov 已提交
1184
  create_table "lfs_objects_projects", force: :cascade do |t|
1185 1186
    t.integer "lfs_object_id", null: false
    t.integer "project_id", null: false
M
Marin Jankovski 已提交
1187 1188 1189 1190 1191 1192
    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 已提交
1193
  create_table "lists", force: :cascade do |t|
1194 1195 1196 1197 1198 1199
    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 已提交
1200 1201
  end

1202
  add_index "lists", ["board_id", "label_id"], name: "index_lists_on_board_id_and_label_id", unique: true, using: :btree
D
Douglas Barbosa Alexandre 已提交
1203
  add_index "lists", ["label_id"], name: "index_lists_on_label_id", using: :btree
1204
  add_index "lists", ["list_type"], name: "index_lists_on_list_type", using: :btree
D
Douglas Barbosa Alexandre 已提交
1205

V
Valery Sizov 已提交
1206
  create_table "members", force: :cascade do |t|
1207 1208 1209 1210 1211 1212
    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"
1213 1214
    t.datetime "created_at"
    t.datetime "updated_at"
1215 1216 1217
    t.integer "created_by_id"
    t.string "invite_email"
    t.string "invite_token"
D
Douwe Maan 已提交
1218
    t.datetime "invite_accepted_at"
R
Rémy Coutable 已提交
1219
    t.datetime "requested_at"
1220
    t.date "expires_at"
1221 1222
  end

1223
  add_index "members", ["access_level"], name: "index_members_on_access_level", using: :btree
D
Douwe Maan 已提交
1224
  add_index "members", ["invite_token"], name: "index_members_on_invite_token", unique: true, using: :btree
1225
  add_index "members", ["requested_at"], name: "index_members_on_requested_at", using: :btree
1226 1227 1228
  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

1229
  create_table "merge_request_diff_commits", id: false, force: :cascade do |t|
1230 1231
    t.datetime_with_timezone "authored_date"
    t.datetime_with_timezone "committed_date"
1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
    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
1243
  add_index "merge_request_diff_commits", ["sha"], name: "index_merge_request_diff_commits_on_sha", using: :btree
1244

1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256
  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
1257
    t.boolean "binary"
1258 1259 1260 1261
  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 已提交
1262
  create_table "merge_request_diffs", force: :cascade do |t|
1263 1264
    t.string "state"
    t.integer "merge_request_id", null: false
1265 1266
    t.datetime "created_at"
    t.datetime "updated_at"
1267 1268 1269 1270
    t.string "base_commit_sha"
    t.string "real_size"
    t.string "head_commit_sha"
    t.string "start_commit_sha"
1271
    t.integer "commits_count"
1272 1273
  end

1274
  add_index "merge_request_diffs", ["merge_request_id", "id"], name: "index_merge_request_diffs_on_merge_request_id_and_id", using: :btree
1275

1276
  create_table "merge_request_metrics", force: :cascade do |t|
1277
    t.integer "merge_request_id", null: false
1278 1279
    t.datetime "latest_build_started_at"
    t.datetime "latest_build_finished_at"
T
Timothy Andrew 已提交
1280 1281
    t.datetime "first_deployed_to_production_at"
    t.datetime "merged_at"
1282 1283
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1284
    t.integer "pipeline_id"
1285 1286 1287
    t.integer "merged_by_id"
    t.integer "latest_closed_by_id"
    t.datetime_with_timezone "latest_closed_at"
1288 1289
  end

1290
  add_index "merge_request_metrics", ["first_deployed_to_production_at"], name: "index_merge_request_metrics_on_first_deployed_to_production_at", using: :btree
1291
  add_index "merge_request_metrics", ["merge_request_id"], name: "index_merge_request_metrics", using: :btree
1292
  add_index "merge_request_metrics", ["pipeline_id"], name: "index_merge_request_metrics_on_pipeline_id", using: :btree
1293

V
Valery Sizov 已提交
1294
  create_table "merge_requests", force: :cascade do |t|
1295 1296
    t.string "target_branch", null: false
    t.string "source_branch", null: false
1297
    t.integer "source_project_id"
1298 1299 1300
    t.integer "author_id"
    t.integer "assignee_id"
    t.string "title"
1301 1302
    t.datetime "created_at"
    t.datetime "updated_at"
1303
    t.integer "milestone_id"
1304 1305
    t.string "state", default: "opened", null: false
    t.string "merge_status", default: "unchecked", null: false
1306 1307 1308 1309 1310 1311
    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 已提交
1312
    t.boolean "merge_when_pipeline_succeeds", default: false, null: false
1313 1314
    t.integer "merge_user_id"
    t.string "merge_commit_sha"
1315
    t.string "in_progress_merge_commit_sha"
V
Valery Sizov 已提交
1316
    t.integer "lock_version"
1317 1318
    t.text "title_html"
    t.text "description_html"
1319
    t.integer "time_estimate"
1320
    t.integer "cached_markdown_version"
1321 1322
    t.datetime "last_edited_at"
    t.integer "last_edited_by_id"
1323
    t.integer "head_pipeline_id"
1324
    t.string "merge_jid"
1325
    t.boolean "discussion_locked"
1326
    t.integer "latest_merge_request_diff_id"
1327
    t.string "rebase_commit_sha"
1328
    t.boolean "squash", default: false, null: false
1329
    t.boolean "allow_maintainer_to_push"
A
Andrew8xx8 已提交
1330
  end
T
tiagonbotelho 已提交
1331

D
Dmitriy Zaporozhets 已提交
1332 1333 1334
  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
1335
  add_index "merge_requests", ["description"], name: "index_merge_requests_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
K
Kamil Trzcinski 已提交
1336
  add_index "merge_requests", ["head_pipeline_id"], name: "index_merge_requests_on_head_pipeline_id", using: :btree
1337
  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
1338
  add_index "merge_requests", ["latest_merge_request_diff_id"], name: "index_merge_requests_on_latest_merge_request_diff_id", using: :btree
1339
  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 已提交
1340 1341
  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
1342
  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
1343
  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 已提交
1344
  add_index "merge_requests", ["target_branch"], name: "index_merge_requests_on_target_branch", using: :btree
1345
  add_index "merge_requests", ["target_project_id", "iid"], name: "index_merge_requests_on_target_project_id_and_iid", unique: true, using: :btree
1346
  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
1347
  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 已提交
1348
  add_index "merge_requests", ["title"], name: "index_merge_requests_on_title", using: :btree
1349
  add_index "merge_requests", ["title"], name: "index_merge_requests_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
1350
  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 已提交
1351

1352
  create_table "merge_requests_closing_issues", force: :cascade do |t|
1353 1354 1355 1356
    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
1357 1358
  end

T
Timothy Andrew 已提交
1359 1360 1361
  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 已提交
1362
  create_table "milestones", force: :cascade do |t|
1363
    t.string "title", null: false
F
Felipe Artur 已提交
1364
    t.integer "project_id"
1365 1366
    t.text "description"
    t.date "due_date"
1367 1368
    t.datetime "created_at"
    t.datetime "updated_at"
1369 1370 1371 1372
    t.string "state"
    t.integer "iid"
    t.text "title_html"
    t.text "description_html"
V
Valery Sizov 已提交
1373
    t.date "start_date"
1374
    t.integer "cached_markdown_version"
F
Felipe Artur 已提交
1375
    t.integer "group_id"
A
Andrew8xx8 已提交
1376 1377
  end

1378
  add_index "milestones", ["description"], name: "index_milestones_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1379
  add_index "milestones", ["due_date"], name: "index_milestones_on_due_date", using: :btree
F
Felipe Artur 已提交
1380
  add_index "milestones", ["group_id"], name: "index_milestones_on_group_id", using: :btree
1381
  add_index "milestones", ["project_id", "iid"], name: "index_milestones_on_project_id_and_iid", unique: true, using: :btree
1382
  add_index "milestones", ["title"], name: "index_milestones_on_title", using: :btree
1383
  add_index "milestones", ["title"], name: "index_milestones_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
A
Andrew8xx8 已提交
1384

V
Valery Sizov 已提交
1385
  create_table "namespaces", force: :cascade do |t|
1386 1387 1388
    t.string "name", null: false
    t.string "path", null: false
    t.integer "owner_id"
1389 1390
    t.datetime "created_at"
    t.datetime "updated_at"
1391 1392 1393 1394 1395
    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
1396
    t.boolean "request_access_enabled", default: false, null: false
N
Nick Thomas 已提交
1397
    t.text "description_html"
1398
    t.boolean "lfs_enabled"
1399
    t.integer "parent_id"
1400 1401
    t.boolean "require_two_factor_authentication", default: false, null: false
    t.integer "two_factor_grace_period", default: 48, null: false
1402
    t.integer "cached_markdown_version"
1403
    t.string "runners_token"
A
Andrew8xx8 已提交
1404 1405
  end

1406
  add_index "namespaces", ["created_at"], name: "index_namespaces_on_created_at", using: :btree
1407
  add_index "namespaces", ["name", "parent_id"], name: "index_namespaces_on_name_and_parent_id", unique: true, using: :btree
1408
  add_index "namespaces", ["name"], name: "index_namespaces_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1409
  add_index "namespaces", ["owner_id"], name: "index_namespaces_on_owner_id", using: :btree
1410
  add_index "namespaces", ["parent_id", "id"], name: "index_namespaces_on_parent_id_and_id", unique: true, using: :btree
1411
  add_index "namespaces", ["path"], name: "index_namespaces_on_path", using: :btree
1412
  add_index "namespaces", ["path"], name: "index_namespaces_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
1413
  add_index "namespaces", ["require_two_factor_authentication"], name: "index_namespaces_on_require_two_factor_authentication", using: :btree
1414
  add_index "namespaces", ["runners_token"], name: "index_namespaces_on_runners_token", unique: true, using: :btree
D
Dmitriy Zaporozhets 已提交
1415
  add_index "namespaces", ["type"], name: "index_namespaces_on_type", using: :btree
A
Andrew8xx8 已提交
1416

1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430
  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 已提交
1431
  create_table "notes", force: :cascade do |t|
1432 1433 1434
    t.text "note"
    t.string "noteable_type"
    t.integer "author_id"
1435 1436
    t.datetime "created_at"
    t.datetime "updated_at"
1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447
    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"
1448
    t.datetime "resolved_at"
1449 1450 1451
    t.integer "resolved_by_id"
    t.string "discussion_id"
    t.text "note_html"
1452
    t.integer "cached_markdown_version"
1453
    t.text "change_position"
1454
    t.boolean "resolved_by_push"
A
Andrew8xx8 已提交
1455 1456
  end

D
Dmitriy Zaporozhets 已提交
1457 1458 1459
  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
1460
  add_index "notes", ["discussion_id"], name: "index_notes_on_discussion_id", using: :btree
1461
  add_index "notes", ["line_code"], name: "index_notes_on_line_code", using: :btree
1462
  add_index "notes", ["note"], name: "index_notes_on_note_trigram", using: :gin, opclasses: {"note"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1463 1464 1465
  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 已提交
1466
  add_index "notes", ["updated_at"], name: "index_notes_on_updated_at", using: :btree
A
Andrew8xx8 已提交
1467

1468
  create_table "notification_settings", force: :cascade do |t|
1469 1470 1471 1472 1473 1474
    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
1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486
    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"
1487
    t.boolean "push_to_merge_request"
1488
    t.boolean "issue_due"
1489 1490
  end

1491
  add_index "notification_settings", ["source_id", "source_type"], name: "index_notification_settings_on_source_id_and_source_type", using: :btree
1492
  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
1493 1494
  add_index "notification_settings", ["user_id"], name: "index_notification_settings_on_user_id", using: :btree

V
Valery Sizov 已提交
1495
  create_table "oauth_access_grants", force: :cascade do |t|
1496 1497 1498 1499 1500 1501
    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 已提交
1502
    t.datetime "revoked_at"
1503
    t.string "scopes"
V
Valery Sizov 已提交
1504 1505 1506 1507
  end

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

V
Valery Sizov 已提交
1508
  create_table "oauth_access_tokens", force: :cascade do |t|
1509 1510 1511 1512 1513
    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 已提交
1514
    t.datetime "revoked_at"
1515 1516
    t.datetime "created_at", null: false
    t.string "scopes"
V
Valery Sizov 已提交
1517 1518 1519 1520 1521 1522
  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 已提交
1523
  create_table "oauth_applications", force: :cascade do |t|
1524 1525 1526 1527 1528
    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 已提交
1529 1530
    t.datetime "created_at"
    t.datetime "updated_at"
1531 1532
    t.integer "owner_id"
    t.string "owner_type"
O
Oswaldo Ferreira 已提交
1533
    t.boolean "trusted", default: false, null: false
V
Valery Sizov 已提交
1534 1535 1536 1537 1538
  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

1539 1540 1541 1542 1543
  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 已提交
1544 1545
  create_table "pages_domains", force: :cascade do |t|
    t.integer "project_id"
1546 1547 1548 1549 1550
    t.text "certificate"
    t.text "encrypted_key"
    t.string "encrypted_key_iv"
    t.string "encrypted_key_salt"
    t.string "domain"
1551 1552 1553
    t.datetime_with_timezone "verified_at"
    t.string "verification_code", null: false
    t.datetime_with_timezone "enabled_until"
K
Kamil Trzcinski 已提交
1554 1555 1556
  end

  add_index "pages_domains", ["domain"], name: "index_pages_domains_on_domain", unique: true, using: :btree
1557
  add_index "pages_domains", ["project_id", "enabled_until"], name: "index_pages_domains_on_project_id_and_enabled_until", using: :btree
1558
  add_index "pages_domains", ["project_id"], name: "index_pages_domains_on_project_id", using: :btree
1559 1560
  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 已提交
1561

1562
  create_table "personal_access_tokens", force: :cascade do |t|
1563
    t.integer "user_id", null: false
1564
    t.string "token"
1565 1566
    t.string "name", null: false
    t.boolean "revoked", default: false
1567
    t.date "expires_at"
1568 1569
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1570
    t.string "scopes", default: "--- []\n", null: false
S
Simon Vocella 已提交
1571
    t.boolean "impersonation", default: false, null: false
1572
    t.string "token_digest"
1573 1574 1575
  end

  add_index "personal_access_tokens", ["token"], name: "index_personal_access_tokens_on_token", unique: true, using: :btree
1576
  add_index "personal_access_tokens", ["token_digest"], name: "index_personal_access_tokens_on_token_digest", unique: true, using: :btree
1577 1578
  add_index "personal_access_tokens", ["user_id"], name: "index_personal_access_tokens_on_user_id", using: :btree

1579 1580 1581 1582 1583 1584 1585 1586
  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

1587
  create_table "project_authorizations", id: false, force: :cascade do |t|
1588 1589 1590
    t.integer "user_id", null: false
    t.integer "project_id", null: false
    t.integer "access_level", null: false
1591 1592
  end

1593
  add_index "project_authorizations", ["project_id"], name: "index_project_authorizations_on_project_id", using: :btree
1594 1595
  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

1596
  create_table "project_auto_devops", force: :cascade do |t|
Z
Zeger-Jan van de Weg 已提交
1597
    t.integer "project_id", null: false
1598 1599
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1600 1601
    t.boolean "enabled"
    t.string "domain"
1602
    t.integer "deploy_strategy", default: 0, null: false
1603 1604
  end

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

1607 1608 1609 1610 1611 1612 1613
  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

1614
  create_table "project_custom_attributes", force: :cascade do |t|
1615 1616
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
1617 1618 1619 1620 1621 1622 1623 1624
    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 已提交
1625 1626 1627
  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 已提交
1628
    t.datetime_with_timezone "created_at", null: false
M
Mayra Cabrera 已提交
1629 1630
  end

1631
  add_index "project_deploy_tokens", ["deploy_token_id"], name: "index_project_deploy_tokens_on_deploy_token_id", using: :btree
K
Kamil Trzciński 已提交
1632
  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 已提交
1633

F
Felipe Artur 已提交
1634
  create_table "project_features", force: :cascade do |t|
1635
    t.integer "project_id", null: false
1636 1637 1638 1639 1640
    t.integer "merge_requests_access_level"
    t.integer "issues_access_level"
    t.integer "wiki_access_level"
    t.integer "snippets_access_level"
    t.integer "builds_access_level"
F
Felipe Artur 已提交
1641 1642
    t.datetime "created_at"
    t.datetime "updated_at"
V
Valery Sizov 已提交
1643
    t.integer "repository_access_level", default: 20, null: false
1644
    t.integer "pages_access_level", default: 20, null: false
F
Felipe Artur 已提交
1645 1646
  end

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

1649
  create_table "project_group_links", force: :cascade do |t|
1650 1651
    t.integer "project_id", null: false
    t.integer "group_id", null: false
1652 1653
    t.datetime "created_at"
    t.datetime "updated_at"
1654 1655
    t.integer "group_access", default: 30, null: false
    t.date "expires_at"
1656 1657
  end

1658
  add_index "project_group_links", ["group_id"], name: "index_project_group_links_on_group_id", using: :btree
1659
  add_index "project_group_links", ["project_id"], name: "index_project_group_links_on_project_id", using: :btree
1660

V
Valery Sizov 已提交
1661
  create_table "project_import_data", force: :cascade do |t|
1662
    t.integer "project_id"
1663 1664 1665 1666
    t.text "data"
    t.text "encrypted_credentials"
    t.string "encrypted_credentials_iv"
    t.string "encrypted_credentials_salt"
1667 1668
  end

1669 1670
  add_index "project_import_data", ["project_id"], name: "index_project_import_data_on_project_id", using: :btree

1671
  create_table "project_mirror_data", force: :cascade do |t|
1672
    t.integer "project_id", null: false
1673 1674 1675 1676 1677 1678
    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
1679
  add_index "project_mirror_data", ["project_id"], name: "index_project_mirror_data_on_project_id", unique: true, using: :btree
1680 1681
  add_index "project_mirror_data", ["status"], name: "index_project_mirror_data_on_status", using: :btree

M
Markus Koller 已提交
1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694
  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 已提交
1695
  create_table "projects", force: :cascade do |t|
1696 1697 1698
    t.string "name"
    t.string "path"
    t.text "description"
1699 1700
    t.datetime "created_at"
    t.datetime "updated_at"
1701
    t.integer "creator_id"
1702
    t.integer "namespace_id", null: false
1703
    t.datetime "last_activity_at"
1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721
    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 已提交
1722
    t.datetime "last_repository_check_at"
1723
    t.boolean "container_registry_enabled"
J
James Lopez 已提交
1724
    t.boolean "only_allow_merge_if_pipeline_succeeds", default: false, null: false
1725 1726
    t.boolean "has_external_issue_tracker"
    t.string "repository_storage", default: "default", null: false
1727
    t.boolean "request_access_enabled", default: false, null: false
1728
    t.boolean "has_external_wiki"
Z
Zeger-Jan van de Weg 已提交
1729
    t.string "ci_config_path"
1730 1731
    t.boolean "lfs_enabled"
    t.text "description_html"
V
Valery Sizov 已提交
1732
    t.boolean "only_allow_merge_if_all_discussions_are_resolved"
1733
    t.boolean "printing_merge_request_link_enabled", default: true, null: false
1734
    t.integer "auto_cancel_pending_pipelines", default: 1, null: false
1735
    t.string "import_jid"
1736
    t.integer "cached_markdown_version"
1737
    t.text "delete_error"
1738
    t.datetime "last_repository_updated_at"
1739
    t.integer "storage_version", limit: 2
S
Sean McGivern 已提交
1740
    t.boolean "resolve_outdated_diff_discussions"
1741
    t.boolean "repository_read_only"
1742
    t.boolean "merge_requests_ff_only_enabled", default: false
1743
    t.boolean "merge_requests_rebase_enabled", default: false, null: false
1744
    t.integer "jobs_cache_index"
R
Rob Watson 已提交
1745
    t.boolean "pages_https_only", default: true
1746
    t.boolean "remote_mirror_available_overridden"
N
Nick Thomas 已提交
1747
    t.integer "pool_repository_id", limit: 8
A
Andrew8xx8 已提交
1748 1749
  end

1750
  add_index "projects", ["ci_id"], name: "index_projects_on_ci_id", using: :btree
1751
  add_index "projects", ["created_at"], name: "index_projects_on_created_at", using: :btree
1752
  add_index "projects", ["creator_id"], name: "index_projects_on_creator_id", using: :btree
1753
  add_index "projects", ["description"], name: "index_projects_on_description_trigram", using: :gin, opclasses: {"description"=>"gin_trgm_ops"}
1754
  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 已提交
1755
  add_index "projects", ["last_activity_at"], name: "index_projects_on_last_activity_at", using: :btree
1756
  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
1757
  add_index "projects", ["last_repository_check_failed"], name: "index_projects_on_last_repository_check_failed", using: :btree
1758
  add_index "projects", ["last_repository_updated_at"], name: "index_projects_on_last_repository_updated_at", using: :btree
1759
  add_index "projects", ["name"], name: "index_projects_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
1760
  add_index "projects", ["namespace_id"], name: "index_projects_on_namespace_id", using: :btree
K
Kamil Trzcinski 已提交
1761
  add_index "projects", ["path"], name: "index_projects_on_path", using: :btree
1762
  add_index "projects", ["path"], name: "index_projects_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
J
James Lopez 已提交
1763
  add_index "projects", ["pending_delete"], name: "index_projects_on_pending_delete", using: :btree
N
Nick Thomas 已提交
1764
  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 已提交
1765
  add_index "projects", ["repository_storage", "created_at"], name: "idx_project_repository_check_partial", where: "(last_repository_check_at IS NULL)", using: :btree
1766
  add_index "projects", ["repository_storage"], name: "index_projects_on_repository_storage", using: :btree
1767
  add_index "projects", ["runners_token"], name: "index_projects_on_runners_token", using: :btree
1768
  add_index "projects", ["star_count"], name: "index_projects_on_star_count", using: :btree
1769
  add_index "projects", ["visibility_level"], name: "index_projects_on_visibility_level", using: :btree
A
Andrew8xx8 已提交
1770

1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786
  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 已提交
1787
  add_index "prometheus_metrics", ["identifier"], name: "index_prometheus_metrics_on_identifier", unique: true, using: :btree
1788 1789
  add_index "prometheus_metrics", ["project_id"], name: "index_prometheus_metrics_on_project_id", using: :btree

1790
  create_table "protected_branch_merge_access_levels", force: :cascade do |t|
1791 1792 1793 1794
    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
1795 1796 1797 1798 1799
  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|
1800 1801 1802 1803
    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
1804 1805 1806 1807
  end

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

V
Valery Sizov 已提交
1808
  create_table "protected_branches", force: :cascade do |t|
1809 1810
    t.integer "project_id", null: false
    t.string "name", null: false
1811 1812
    t.datetime "created_at"
    t.datetime "updated_at"
A
Andrew8xx8 已提交
1813 1814
  end

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

1817
  create_table "protected_tag_create_access_levels", force: :cascade do |t|
1818
    t.integer "protected_tag_id", null: false
1819 1820 1821
    t.integer "access_level", default: 40
    t.integer "user_id"
    t.integer "group_id"
1822 1823 1824 1825
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

1826 1827
  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
1828 1829 1830 1831

  create_table "protected_tags", force: :cascade do |t|
    t.integer "project_id", null: false
    t.string "name", null: false
1832 1833
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
1834 1835
  end

R
Robert Schilling 已提交
1836
  add_index "protected_tags", ["project_id", "name"], name: "index_protected_tags_on_project_id_and_name", unique: true, using: :btree
1837 1838
  add_index "protected_tags", ["project_id"], name: "index_protected_tags_on_project_id", using: :btree

1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851
  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

1852 1853 1854 1855 1856 1857 1858 1859
  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

1860 1861 1862
  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 已提交
1863
  create_table "releases", force: :cascade do |t|
1864 1865 1866
    t.string "tag"
    t.text "description"
    t.integer "project_id"
D
Dmitriy Zaporozhets 已提交
1867 1868
    t.datetime "created_at"
    t.datetime "updated_at"
1869
    t.text "description_html"
1870
    t.integer "cached_markdown_version"
D
Dmitriy Zaporozhets 已提交
1871 1872 1873 1874 1875
  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

1876 1877 1878
  create_table "remote_mirrors", force: :cascade do |t|
    t.integer "project_id"
    t.string "url"
1879
    t.boolean "enabled", default: false
1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896
    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 已提交
1897 1898 1899 1900 1901 1902 1903 1904
  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

1905 1906 1907 1908 1909 1910 1911 1912
  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 已提交
1913 1914 1915 1916 1917 1918 1919
  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
1920 1921 1922
    t.integer "cached_markdown_version"
    t.text "reference"
    t.text "reference_html"
J
Jan Provaznik 已提交
1923 1924 1925 1926 1927 1928 1929
  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

1930 1931 1932 1933 1934 1935
  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"
1936
    t.string "name"
1937 1938 1939
  end

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

V
Valery Sizov 已提交
1943
  create_table "sent_notifications", force: :cascade do |t|
D
Douwe Maan 已提交
1944 1945
    t.integer "project_id"
    t.integer "noteable_id"
1946
    t.string "noteable_type"
D
Douwe Maan 已提交
1947
    t.integer "recipient_id"
1948 1949 1950 1951 1952
    t.string "commit_id"
    t.string "reply_key", null: false
    t.string "line_code"
    t.string "note_type"
    t.text "position"
1953
    t.string "in_reply_to_discussion_id"
D
Douwe Maan 已提交
1954 1955 1956 1957
  end

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

V
Valery Sizov 已提交
1958
  create_table "services", force: :cascade do |t|
1959 1960 1961
    t.string "type"
    t.string "title"
    t.integer "project_id"
1962 1963
    t.datetime "created_at"
    t.datetime "updated_at"
1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976
    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
1977
    t.boolean "commit_events", default: true, null: false
1978
    t.boolean "job_events", default: false, null: false
1979
    t.boolean "confidential_note_events", default: true
1980 1981
  end

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

1985 1986 1987 1988 1989 1990
  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

1991 1992 1993 1994
  create_table "site_statistics", force: :cascade do |t|
    t.integer "repositories_count", default: 0, null: false
  end

V
Valery Sizov 已提交
1995
  create_table "snippets", force: :cascade do |t|
1996 1997 1998 1999
    t.string "title"
    t.text "content"
    t.integer "author_id", null: false
    t.integer "project_id"
2000 2001
    t.datetime "created_at"
    t.datetime "updated_at"
2002 2003 2004 2005 2006
    t.string "file_name"
    t.string "type"
    t.integer "visibility_level", default: 0, null: false
    t.text "title_html"
    t.text "content_html"
2007
    t.integer "cached_markdown_version"
2008 2009
    t.text "description"
    t.text "description_html"
A
Andrew8xx8 已提交
2010 2011
  end

D
Dmitriy Zaporozhets 已提交
2012
  add_index "snippets", ["author_id"], name: "index_snippets_on_author_id", using: :btree
2013
  add_index "snippets", ["file_name"], name: "index_snippets_on_file_name_trigram", using: :gin, opclasses: {"file_name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2014
  add_index "snippets", ["project_id"], name: "index_snippets_on_project_id", using: :btree
2015
  add_index "snippets", ["title"], name: "index_snippets_on_title_trigram", using: :gin, opclasses: {"title"=>"gin_trgm_ops"}
2016
  add_index "snippets", ["updated_at"], name: "index_snippets_on_updated_at", using: :btree
V
Valery Sizov 已提交
2017
  add_index "snippets", ["visibility_level"], name: "index_snippets_on_visibility_level", using: :btree
A
Andrew8xx8 已提交
2018

2019
  create_table "spam_logs", force: :cascade do |t|
2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
    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
2030
    t.boolean "recaptcha_verified", default: false, null: false
2031 2032
  end

V
Valery Sizov 已提交
2033
  create_table "subscriptions", force: :cascade do |t|
2034 2035 2036 2037
    t.integer "user_id"
    t.integer "subscribable_id"
    t.string "subscribable_type"
    t.boolean "subscribed"
V
Valery Sizov 已提交
2038 2039
    t.datetime "created_at"
    t.datetime "updated_at"
2040
    t.integer "project_id"
V
Valery Sizov 已提交
2041 2042
  end

2043
  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 已提交
2044

J
Jarka Kadlecova 已提交
2045 2046 2047
  create_table "system_note_metadata", force: :cascade do |t|
    t.integer "note_id", null: false
    t.integer "commit_count"
2048
    t.string "action"
J
Jarka Kadlecova 已提交
2049 2050
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
V
Valery Sizov 已提交
2051 2052
  end

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

V
Valery Sizov 已提交
2055
  create_table "taggings", force: :cascade do |t|
2056 2057 2058 2059 2060 2061
    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 已提交
2062 2063 2064
    t.datetime "created_at"
  end

2065
  add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
2066
  add_index "taggings", ["tag_id"], name: "index_taggings_on_tag_id", using: :btree
2067
  add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
2068
  add_index "taggings", ["taggable_id", "taggable_type"], name: "index_taggings_on_taggable_id_and_taggable_type", using: :btree
2069

V
Valery Sizov 已提交
2070
  create_table "tags", force: :cascade do |t|
2071
    t.string "name"
2072
    t.integer "taggings_count", default: 0
A
Andrew8xx8 已提交
2073 2074
  end

2075 2076
  add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree

2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
  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

2089 2090 2091 2092 2093
  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
2094 2095
    t.integer "issue_id"
    t.integer "merge_request_id"
V
Vlad 已提交
2096
    t.datetime_with_timezone "spent_at"
2097 2098
  end

2099 2100
  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
2101 2102
  add_index "timelogs", ["user_id"], name: "index_timelogs_on_user_id", using: :btree

2103
  create_table "todos", force: :cascade do |t|
2104
    t.integer "user_id", null: false
2105
    t.integer "project_id"
2106 2107
    t.integer "target_id"
    t.string "target_type", null: false
2108
    t.integer "author_id", null: false
2109 2110
    t.integer "action", null: false
    t.string "state", null: false
D
Douglas Barbosa Alexandre 已提交
2111 2112
    t.datetime "created_at"
    t.datetime "updated_at"
2113 2114
    t.integer "note_id"
    t.string "commit_id"
2115
    t.integer "group_id"
D
Douglas Barbosa Alexandre 已提交
2116 2117
  end

2118
  add_index "todos", ["author_id"], name: "index_todos_on_author_id", using: :btree
J
James Lopez 已提交
2119
  add_index "todos", ["commit_id"], name: "index_todos_on_commit_id", using: :btree
2120
  add_index "todos", ["group_id"], name: "index_todos_on_group_id", using: :btree
2121 2122 2123
  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
2124 2125
  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
2126
  add_index "todos", ["user_id"], name: "index_todos_on_user_id", using: :btree
D
Douglas Barbosa Alexandre 已提交
2127

Y
Yorick Peterse 已提交
2128 2129 2130 2131
  create_table "trending_projects", force: :cascade do |t|
    t.integer "project_id", null: false
  end

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

2134
  create_table "u2f_registrations", force: :cascade do |t|
2135 2136 2137 2138 2139 2140 2141 2142
    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"
2143 2144 2145 2146 2147
  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

2148 2149
  create_table "uploads", force: :cascade do |t|
    t.integer "size", limit: 8, null: false
2150
    t.string "path", limit: 511, null: false
2151 2152 2153 2154 2155
    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 已提交
2156 2157
    t.string "mount_point"
    t.string "secret"
2158
    t.integer "store"
2159 2160 2161 2162
  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
M
Micaël Bergeron 已提交
2163
  add_index "uploads", ["uploader", "path"], name: "index_uploads_on_uploader_and_path", using: :btree
2164

2165
  create_table "user_agent_details", force: :cascade do |t|
2166 2167 2168 2169 2170 2171 2172
    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
2173 2174
  end

2175 2176
  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ć 已提交
2177
  create_table "user_callouts", force: :cascade do |t|
2178
    t.integer "feature_name", null: false
M
Matija Čupić 已提交
2179 2180 2181 2182 2183 2184
    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

2185
  create_table "user_custom_attributes", force: :cascade do |t|
2186 2187
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
2188 2189 2190 2191 2192 2193 2194 2195
    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

2196 2197 2198 2199 2200 2201
  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
2202
  add_index "user_interacted_projects", ["user_id"], name: "index_user_interacted_projects_on_user_id", using: :btree
2203

2204 2205 2206 2207 2208 2209 2210 2211 2212 2213
  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 已提交
2214 2215 2216 2217 2218 2219 2220
  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

2221 2222 2223 2224 2225 2226 2227 2228 2229 2230
  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 已提交
2231
  create_table "users", force: :cascade do |t|
2232 2233 2234
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
A
Andrew8xx8 已提交
2235 2236
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
2237
    t.integer "sign_in_count", default: 0
A
Andrew8xx8 已提交
2238 2239
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
2240 2241
    t.string "current_sign_in_ip"
    t.string "last_sign_in_ip"
2242 2243
    t.datetime "created_at"
    t.datetime "updated_at"
2244 2245
    t.string "name"
    t.boolean "admin", default: false, null: false
2246
    t.integer "projects_limit", null: false
2247 2248 2249 2250 2251
    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 已提交
2252
    t.datetime "locked_at"
2253 2254 2255 2256 2257
    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
2258
    t.datetime "password_expires_at"
2259
    t.integer "created_by_id"
2260
    t.datetime "last_credential_check_at"
2261 2262
    t.string "avatar"
    t.string "confirmation_token"
2263 2264
    t.datetime "confirmed_at"
    t.datetime "confirmation_sent_at"
2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283
    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 已提交
2284
    t.datetime "otp_grace_period_started_at"
2285
    t.boolean "external", default: false
N
Nick Thomas 已提交
2286
    t.string "incoming_email_token"
2287
    t.string "organization"
2288 2289
    t.boolean "require_two_factor_authentication_from_group", default: false, null: false
    t.integer "two_factor_grace_period", default: 48, null: false
2290
    t.boolean "ghost"
2291
    t.date "last_activity_on"
2292
    t.boolean "notified_of_own_activity"
2293
    t.string "preferred_language"
2294
    t.integer "theme_id", limit: 2
B
Bob Van Landuyt 已提交
2295
    t.integer "accepted_term_id"
2296
    t.string "feed_token"
2297
    t.boolean "private_profile"
2298
    t.boolean "include_private_contributions"
2299
    t.string "commit_email"
A
Andrew8xx8 已提交
2300 2301
  end

D
Dmitriy Zaporozhets 已提交
2302 2303
  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
2304
  add_index "users", ["created_at"], name: "index_users_on_created_at", using: :btree
D
Dmitriy Zaporozhets 已提交
2305
  add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
2306
  add_index "users", ["email"], name: "index_users_on_email_trigram", using: :gin, opclasses: {"email"=>"gin_trgm_ops"}
2307
  add_index "users", ["feed_token"], name: "index_users_on_feed_token", using: :btree
2308
  add_index "users", ["ghost"], name: "index_users_on_ghost", using: :btree
2309
  add_index "users", ["incoming_email_token"], name: "index_users_on_incoming_email_token", using: :btree
D
Dmitriy Zaporozhets 已提交
2310
  add_index "users", ["name"], name: "index_users_on_name", using: :btree
2311
  add_index "users", ["name"], name: "index_users_on_name_trigram", using: :gin, opclasses: {"name"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2312
  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
S
Stan Hu 已提交
2313
  add_index "users", ["state"], name: "index_users_on_state", using: :btree
D
Dmitriy Zaporozhets 已提交
2314
  add_index "users", ["username"], name: "index_users_on_username", using: :btree
2315
  add_index "users", ["username"], name: "index_users_on_username_trigram", using: :gin, opclasses: {"username"=>"gin_trgm_ops"}
D
Dmitriy Zaporozhets 已提交
2316

V
Valery Sizov 已提交
2317
  create_table "users_star_projects", force: :cascade do |t|
2318 2319
    t.integer "project_id", null: false
    t.integer "user_id", null: false
C
Ciro Santilli 已提交
2320 2321 2322 2323 2324 2325 2326
    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 已提交
2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341
  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

2342
  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 已提交
2343
  add_index "web_hook_logs", ["web_hook_id"], name: "index_web_hook_logs_on_web_hook_id", using: :btree
C
Ciro Santilli 已提交
2344

V
Valery Sizov 已提交
2345
  create_table "web_hooks", force: :cascade do |t|
2346
    t.integer "project_id"
2347 2348
    t.datetime "created_at"
    t.datetime "updated_at"
2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359
    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 已提交
2360
    t.boolean "repository_update_events", default: false, null: false
L
Luke "Jared" Bennett 已提交
2361
    t.boolean "job_events", default: false, null: false
2362
    t.boolean "confidential_note_events"
D
Duana Saskia 已提交
2363
    t.text "push_events_branch_filter"
2364 2365 2366 2367
    t.string "encrypted_token"
    t.string "encrypted_token_iv"
    t.string "encrypted_url"
    t.string "encrypted_url_iv"
A
Andrew8xx8 已提交
2368 2369
  end

D
Dmitriy Zaporozhets 已提交
2370
  add_index "web_hooks", ["project_id"], name: "index_web_hooks_on_project_id", using: :btree
J
James Lopez 已提交
2371
  add_index "web_hooks", ["type"], name: "index_web_hooks_on_type", using: :btree
D
Dmitriy Zaporozhets 已提交
2372

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