Read about our upcoming Code of Conduct on this issue

schema.rb 203 KB
Newer Older
Andrew8xx8's avatar
Andrew8xx8 committed
1
2
3
4
5
6
7
8
9
10
# 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).
#
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
11
# It's strongly recommended that you check this file into your version control system.
Andrew8xx8's avatar
Andrew8xx8 committed
12

13
ActiveRecord::Schema.define(version: 2019_08_15_093949) do
14

Kamil Trzcinski's avatar
Kamil Trzcinski committed
15
  # These are extensions that must be enabled in order to support this database
16
  enable_extension "pg_trgm"
Heinrich Lee Yu's avatar
Heinrich Lee Yu committed
17
  enable_extension "plpgsql"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
18

Jasper Maes's avatar
Jasper Maes committed
19
  create_table "abuse_reports", id: :serial, force: :cascade do |t|
20
21
22
    t.integer "reporter_id"
    t.integer "user_id"
    t.text "message"
23
24
    t.datetime "created_at"
    t.datetime "updated_at"
25
    t.text "message_html"
26
    t.integer "cached_markdown_version"
27
28
  end

29
30
31
32
33
34
35
36
  create_table "allowed_email_domains", force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "group_id", null: false
    t.string "domain", limit: 255, null: false
    t.index ["group_id"], name: "index_allowed_email_domains_on_group_id"
  end

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  create_table "analytics_cycle_analytics_group_stages", force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "relative_position"
    t.integer "start_event_identifier", null: false
    t.integer "end_event_identifier", null: false
    t.bigint "group_id", null: false
    t.bigint "start_event_label_id"
    t.bigint "end_event_label_id"
    t.boolean "hidden", default: false, null: false
    t.boolean "custom", default: true, null: false
    t.string "name", limit: 255, null: false
    t.index ["end_event_label_id"], name: "index_analytics_ca_group_stages_on_end_event_label_id"
    t.index ["group_id", "name"], name: "index_analytics_ca_group_stages_on_group_id_and_name", unique: true
    t.index ["group_id"], name: "index_analytics_ca_group_stages_on_group_id"
    t.index ["relative_position"], name: "index_analytics_ca_group_stages_on_relative_position"
    t.index ["start_event_label_id"], name: "index_analytics_ca_group_stages_on_start_event_label_id"
  end

  create_table "analytics_cycle_analytics_project_stages", force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "relative_position"
    t.integer "start_event_identifier", null: false
    t.integer "end_event_identifier", null: false
    t.bigint "project_id", null: false
    t.bigint "start_event_label_id"
    t.bigint "end_event_label_id"
    t.boolean "hidden", default: false, null: false
    t.boolean "custom", default: true, null: false
    t.string "name", limit: 255, null: false
    t.index ["end_event_label_id"], name: "index_analytics_ca_project_stages_on_end_event_label_id"
    t.index ["project_id", "name"], name: "index_analytics_ca_project_stages_on_project_id_and_name", unique: true
    t.index ["project_id"], name: "index_analytics_ca_project_stages_on_project_id"
    t.index ["relative_position"], name: "index_analytics_ca_project_stages_on_relative_position"
    t.index ["start_event_label_id"], name: "index_analytics_ca_project_stages_on_start_event_label_id"
  end

Jasper Maes's avatar
Jasper Maes committed
75
  create_table "appearances", id: :serial, force: :cascade do |t|
76
77
    t.string "title", null: false
    t.text "description", null: false
78
79
    t.string "header_logo"
    t.string "logo"
80
81
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
82
    t.text "description_html"
83
    t.integer "cached_markdown_version"
84
85
    t.text "new_project_guidelines"
    t.text "new_project_guidelines_html"
86
87
88
89
90
91
    t.text "header_message"
    t.text "header_message_html"
    t.text "footer_message"
    t.text "footer_message_html"
    t.text "message_background_color"
    t.text "message_font_color"
92
    t.string "favicon"
93
    t.boolean "email_header_and_footer_enabled", default: false, null: false
94
    t.integer "updated_by"
95
96
  end

Jasper Maes's avatar
Jasper Maes committed
97
  create_table "application_setting_terms", id: :serial, force: :cascade do |t|
98
99
100
101
102
    t.integer "cached_markdown_version"
    t.text "terms", null: false
    t.text "terms_html"
  end

Jasper Maes's avatar
Jasper Maes committed
103
  create_table "application_settings", id: :serial, force: :cascade do |t|
104
105
106
107
    t.integer "default_projects_limit"
    t.boolean "signup_enabled"
    t.boolean "gravatar_enabled"
    t.text "sign_in_text"
108
109
    t.datetime "created_at"
    t.datetime "updated_at"
110
111
    t.string "home_page_url"
    t.integer "default_branch_protection", default: 2
112
    t.text "help_text"
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
    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"
128
    t.integer "max_pages_size", default: 100, null: false
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
    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 "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"
Valery Sizov's avatar
Valery Sizov committed
153
    t.boolean "user_default_external", default: false, null: false
154
155
    t.boolean "elasticsearch_indexing", default: false, null: false
    t.boolean "elasticsearch_search", default: false, null: false
156
    t.string "repository_storages", default: "default"
157
158
159
    t.string "enabled_git_access_protocol"
    t.boolean "domain_blacklist_enabled", default: false
    t.text "domain_blacklist"
160
    t.boolean "usage_ping_enabled", default: true, null: false
161
162
163
164
    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"
165
    t.integer "rsa_key_restriction", default: 0, null: false
166
    t.integer "dsa_key_restriction", default: -1, null: false
167
168
    t.integer "ecdsa_key_restriction", default: 0, null: false
    t.integer "ed25519_key_restriction", default: 0, null: false
Jacob Vosmaer's avatar
Jacob Vosmaer committed
169
170
171
172
173
    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
174
    t.boolean "html_emails_enabled", default: true
175
176
    t.string "plantuml_url"
    t.boolean "plantuml_enabled"
177
178
    t.integer "shared_runners_minutes", default: 0, null: false
    t.bigint "repository_size_limit", default: 0
179
    t.integer "terminal_max_session_time", default: 0, null: false
180
181
182
    t.integer "unique_ips_limit_per_user"
    t.integer "unique_ips_limit_time_window"
    t.boolean "unique_ips_limit_enabled", default: false, null: false
183
    t.string "default_artifacts_expire_in", default: "0", null: false
184
185
186
187
188
189
    t.string "elasticsearch_url", default: "http://localhost:9200"
    t.boolean "elasticsearch_aws", default: false, null: false
    t.string "elasticsearch_aws_region", default: "us-east-1"
    t.string "elasticsearch_aws_access_key"
    t.string "elasticsearch_aws_secret_access_key"
    t.integer "geo_status_timeout", default: 10
190
    t.string "uuid"
191
    t.decimal "polling_interval_multiplier", default: "1.0", null: false
192
    t.boolean "elasticsearch_experimental_indexer"
193
    t.integer "cached_markdown_version"
194
195
196
197
    t.boolean "check_namespace_plan", default: false, null: false
    t.integer "mirror_max_delay", default: 300, null: false
    t.integer "mirror_max_capacity", default: 100, null: false
    t.integer "mirror_capacity_threshold", default: 50, null: false
198
    t.boolean "prometheus_metrics_enabled", default: true, null: false
199
    t.boolean "authorized_keys_enabled", default: true, null: false
200
201
    t.boolean "help_page_hide_commercial_content", default: false
    t.string "help_page_support_url"
202
203
204
205
    t.boolean "slack_app_enabled", default: false
    t.string "slack_app_id"
    t.string "slack_app_secret"
    t.string "slack_app_verification_token"
206
    t.integer "performance_bar_allowed_group_id"
207
    t.boolean "allow_group_owners_to_manage_ldap", default: true, null: false
208
    t.boolean "hashed_storage_enabled", default: true, null: false
209
    t.boolean "project_export_enabled", default: true, null: false
210
    t.boolean "auto_devops_enabled", default: true, null: false
211
212
213
214
215
216
217
218
219
    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
220
221
222
    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
223
224
225
    t.boolean "mirror_available", default: true, null: false
    t.boolean "password_authentication_enabled_for_web"
    t.boolean "password_authentication_enabled_for_git", default: true, null: false
226
    t.string "auto_devops_domain"
227
228
229
    t.boolean "external_authorization_service_enabled", default: false, null: false
    t.string "external_authorization_service_url"
    t.string "external_authorization_service_default_label"
230
    t.boolean "pages_domain_verification_enabled", default: true, null: false
231
    t.string "user_default_internal_regex"
232
233
234
235
236
237
238
    t.float "external_authorization_service_timeout", default: 0.5
    t.text "external_auth_client_cert"
    t.text "encrypted_external_auth_client_key"
    t.string "encrypted_external_auth_client_key_iv"
    t.string "encrypted_external_auth_client_key_pass"
    t.string "encrypted_external_auth_client_key_pass_iv"
    t.string "email_additional_text"
239
    t.boolean "enforce_terms", default: false
240
241
    t.integer "file_template_project_id"
    t.boolean "pseudonymizer_enabled", default: false, null: false
242
    t.boolean "hide_third_party_offers", default: false, null: false
243
244
245
    t.boolean "snowplow_enabled", default: false, null: false
    t.string "snowplow_site_id"
    t.string "snowplow_cookie_domain"
246
    t.boolean "instance_statistics_visibility_private", default: false, null: false
Phil Hughes's avatar
Phil Hughes committed
247
    t.boolean "web_ide_clientside_preview_enabled", default: false, null: false
248
    t.boolean "user_show_add_ssh_key_message", default: true, null: false
249
    t.integer "custom_project_templates_group_id"
250
    t.integer "usage_stats_set_by_user_id"
251
    t.integer "receive_max_input_size"
252
    t.integer "diff_max_patch_bytes", default: 102400, null: false
253
    t.integer "archive_builds_in_seconds"
254
    t.string "commit_email_hostname"
255
    t.boolean "protected_ci_variables", default: false, null: false
256
    t.string "runners_registration_token_encrypted"
Jan Provaznik's avatar
Jan Provaznik committed
257
    t.integer "local_markdown_version", default: 0, null: false
258
    t.integer "first_day_of_week", default: 0, null: false
259
    t.boolean "elasticsearch_limit_indexing", default: false, null: false
Gosia Ksionek's avatar
Gosia Ksionek committed
260
    t.integer "default_project_creation", default: 2, null: false
261
262
    t.string "lets_encrypt_notification_email"
    t.boolean "lets_encrypt_terms_of_service_accepted", default: false, null: false
263
    t.string "geo_node_allowed_ips", default: "0.0.0.0/0, ::/0"
264
265
    t.integer "elasticsearch_shards", default: 5, null: false
    t.integer "elasticsearch_replicas", default: 1, null: false
266
267
    t.text "encrypted_lets_encrypt_private_key"
    t.text "encrypted_lets_encrypt_private_key_iv"
Matija Čupić's avatar
Matija Čupić committed
268
    t.string "required_instance_ci_template"
269
    t.boolean "dns_rebinding_protection_enabled", default: true, null: false
Małgorzata Ksionek's avatar
Małgorzata Ksionek committed
270
    t.boolean "default_project_deletion_protection", default: false, null: false
271
    t.boolean "grafana_enabled", default: false, null: false
272
    t.boolean "lock_memberships_to_ldap", default: false, null: false
273
    t.boolean "time_tracking_limit_to_hours", default: false, null: false
274
    t.string "grafana_url", default: "/-/grafana", null: false
275
    t.string "outbound_local_requests_whitelist", limit: 255, default: [], null: false, array: true
276
    t.integer "raw_blob_request_limit", default: 300, null: false
277
    t.boolean "allow_local_requests_from_web_hooks_and_services", default: false, null: false
278
    t.boolean "allow_local_requests_from_system_hooks", default: true, null: false
279
    t.bigint "instance_administration_project_id"
Alex Buijs's avatar
Alex Buijs committed
280
    t.string "snowplow_collector_hostname"
281
282
    t.index ["custom_project_templates_group_id"], name: "index_application_settings_on_custom_project_templates_group_id"
    t.index ["file_template_project_id"], name: "index_application_settings_on_file_template_project_id"
283
    t.index ["instance_administration_project_id"], name: "index_applicationsettings_on_instance_administration_project_id"
284
    t.index ["usage_stats_set_by_user_id"], name: "index_application_settings_on_usage_stats_set_by_user_id"
285
286
  end

287
288
289
  create_table "approval_merge_request_rule_sources", force: :cascade do |t|
    t.bigint "approval_merge_request_rule_id", null: false
    t.bigint "approval_project_rule_id", null: false
290
291
    t.index ["approval_merge_request_rule_id"], name: "index_approval_merge_request_rule_sources_1", unique: true
    t.index ["approval_project_rule_id"], name: "index_approval_merge_request_rule_sources_2"
292
293
294
295
296
297
298
299
300
301
  end

  create_table "approval_merge_request_rules", force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "merge_request_id", null: false
    t.integer "approvals_required", limit: 2, default: 0, null: false
    t.boolean "code_owner", default: false, null: false
    t.string "name", null: false
    t.integer "rule_type", limit: 2, default: 1, null: false
302
    t.integer "report_type", limit: 2
303
304
305
306
    t.index ["merge_request_id", "code_owner", "name"], name: "approval_rule_name_index_for_code_owners", unique: true, where: "(code_owner = true)"
    t.index ["merge_request_id", "code_owner"], name: "index_approval_merge_request_rules_1"
    t.index ["merge_request_id", "rule_type", "name"], name: "index_approval_rule_name_for_code_owners_rule_type", unique: true, where: "(rule_type = 2)"
    t.index ["merge_request_id", "rule_type"], name: "index_approval_rules_code_owners_rule_type", where: "(rule_type = 2)"
307
308
309
310
311
  end

  create_table "approval_merge_request_rules_approved_approvers", force: :cascade do |t|
    t.bigint "approval_merge_request_rule_id", null: false
    t.integer "user_id", null: false
312
313
    t.index ["approval_merge_request_rule_id", "user_id"], name: "index_approval_merge_request_rules_approved_approvers_1", unique: true
    t.index ["user_id"], name: "index_approval_merge_request_rules_approved_approvers_2"
314
315
316
317
318
  end

  create_table "approval_merge_request_rules_groups", force: :cascade do |t|
    t.bigint "approval_merge_request_rule_id", null: false
    t.integer "group_id", null: false
319
320
    t.index ["approval_merge_request_rule_id", "group_id"], name: "index_approval_merge_request_rules_groups_1", unique: true
    t.index ["group_id"], name: "index_approval_merge_request_rules_groups_2"
321
322
323
324
325
  end

  create_table "approval_merge_request_rules_users", force: :cascade do |t|
    t.bigint "approval_merge_request_rule_id", null: false
    t.integer "user_id", null: false
326
327
    t.index ["approval_merge_request_rule_id", "user_id"], name: "index_approval_merge_request_rules_users_1", unique: true
    t.index ["user_id"], name: "index_approval_merge_request_rules_users_2"
328
329
330
331
332
333
334
335
  end

  create_table "approval_project_rules", force: :cascade do |t|
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.integer "project_id", null: false
    t.integer "approvals_required", limit: 2, default: 0, null: false
    t.string "name", null: false
336
    t.integer "rule_type", limit: 2, default: 0, null: false
337
338
    t.index ["project_id"], name: "index_approval_project_rules_on_project_id"
    t.index ["rule_type"], name: "index_approval_project_rules_on_rule_type"
339
340
341
342
343
  end

  create_table "approval_project_rules_groups", force: :cascade do |t|
    t.bigint "approval_project_rule_id", null: false
    t.integer "group_id", null: false
344
345
    t.index ["approval_project_rule_id", "group_id"], name: "index_approval_project_rules_groups_1", unique: true
    t.index ["group_id"], name: "index_approval_project_rules_groups_2"
346
347
348
349
350
  end

  create_table "approval_project_rules_users", force: :cascade do |t|
    t.bigint "approval_project_rule_id", null: false
    t.integer "user_id", null: false
351
352
    t.index ["approval_project_rule_id", "user_id"], name: "index_approval_project_rules_users_1", unique: true
    t.index ["user_id"], name: "index_approval_project_rules_users_2"
353
354
355
356
357
358
359
  end

  create_table "approvals", id: :serial, force: :cascade do |t|
    t.integer "merge_request_id", null: false
    t.integer "user_id", null: false
    t.datetime "created_at"
    t.datetime "updated_at"
360
361
    t.index ["merge_request_id"], name: "index_approvals_on_merge_request_id"
    t.index ["user_id", "merge_request_id"], name: "index_approvals_on_user_id_and_merge_request_id", unique: true
362
363
364
365
366
367
368
369
  end

  create_table "approver_groups", id: :serial, force: :cascade do |t|
    t.integer "target_id", null: false
    t.string "target_type", null: false
    t.integer "group_id", null: false
    t.datetime "created_at"
    t.datetime "updated_at"
370
371
    t.index ["group_id"], name: "index_approver_groups_on_group_id"
    t.index ["target_id", "target_type"], name: "index_approver_groups_on_target_id_and_target_type"
372
373
374
375
376
377
378
379
  end

  create_table "approvers", id: :serial, force: :cascade do |t|
    t.integer "target_id", null: false
    t.string "target_type"
    t.integer "user_id", null: false
    t.datetime "created_at"
    t.datetime "updated_at"
380
381
    t.index ["target_id", "target_type"], name: "index_approvers_on_target_id_and_target_type"
    t.index ["user_id"], name: "index_approvers_on_user_id"
382
383
  end

Jasper Maes's avatar
Jasper Maes committed
384
  create_table "audit_events", id: :serial, force: :cascade do |t|
385
386
387
388
389
    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"
390
391
    t.datetime "created_at"
    t.datetime "updated_at"
392
393
    t.index ["created_at", "author_id"], name: "analytics_index_audit_events_on_created_at_and_author_id"
    t.index ["entity_id", "entity_type"], name: "index_audit_events_on_entity_id_and_entity_type"
394
395
  end

Jasper Maes's avatar
Jasper Maes committed
396
  create_table "award_emoji", id: :serial, force: :cascade do |t|
397
398
399
400
    t.string "name"
    t.integer "user_id"
    t.integer "awardable_id"
    t.string "awardable_type"
401
402
    t.datetime "created_at"
    t.datetime "updated_at"
403
404
    t.index ["awardable_type", "awardable_id"], name: "index_award_emoji_on_awardable_type_and_awardable_id"
    t.index ["user_id", "name"], name: "index_award_emoji_on_user_id_and_name"
405
406
  end

Jasper Maes's avatar
Jasper Maes committed
407
  create_table "badges", id: :serial, force: :cascade do |t|
408
409
410
411
412
413
414
    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
415
416
    t.index ["group_id"], name: "index_badges_on_group_id"
    t.index ["project_id"], name: "index_badges_on_project_id"
417
418
  end

419
420
421
  create_table "board_assignees", id: :serial, force: :cascade do |t|
    t.integer "board_id", null: false
    t.integer "assignee_id", null: false
422
423
    t.index ["assignee_id"], name: "index_board_assignees_on_assignee_id"
    t.index ["board_id", "assignee_id"], name: "index_board_assignees_on_board_id_and_assignee_id", unique: true
424
425
  end

Jasper Maes's avatar
Jasper Maes committed
426
  create_table "board_group_recent_visits", force: :cascade do |t|
427
428
429
430
431
    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"
432
433
434
435
    t.index ["board_id"], name: "index_board_group_recent_visits_on_board_id"
    t.index ["group_id"], name: "index_board_group_recent_visits_on_group_id"
    t.index ["user_id", "group_id", "board_id"], name: "index_board_group_recent_visits_on_user_group_and_board", unique: true
    t.index ["user_id"], name: "index_board_group_recent_visits_on_user_id"
436
437
  end

438
439
440
  create_table "board_labels", id: :serial, force: :cascade do |t|
    t.integer "board_id", null: false
    t.integer "label_id", null: false
441
442
    t.index ["board_id", "label_id"], name: "index_board_labels_on_board_id_and_label_id", unique: true
    t.index ["label_id"], name: "index_board_labels_on_label_id"
443
444
  end

Jasper Maes's avatar
Jasper Maes committed
445
  create_table "board_project_recent_visits", force: :cascade do |t|
446
447
448
449
450
    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"
451
452
453
454
    t.index ["board_id"], name: "index_board_project_recent_visits_on_board_id"
    t.index ["project_id"], name: "index_board_project_recent_visits_on_project_id"
    t.index ["user_id", "project_id", "board_id"], name: "index_board_project_recent_visits_on_user_project_and_board", unique: true
    t.index ["user_id"], name: "index_board_project_recent_visits_on_user_id"
455
456
  end

Jasper Maes's avatar
Jasper Maes committed
457
  create_table "boards", id: :serial, force: :cascade do |t|
Felipe Artur's avatar
Felipe Artur committed
458
    t.integer "project_id"
Douglas Barbosa Alexandre's avatar
Douglas Barbosa Alexandre committed
459
460
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
461
    t.string "name", default: "Development", null: false
462
    t.integer "milestone_id"
463
    t.integer "group_id"
464
    t.integer "weight"
465
466
467
    t.index ["group_id"], name: "index_boards_on_group_id"
    t.index ["milestone_id"], name: "index_boards_on_milestone_id"
    t.index ["project_id"], name: "index_boards_on_project_id"
Douglas Barbosa Alexandre's avatar
Douglas Barbosa Alexandre committed
468
469
  end

Jasper Maes's avatar
Jasper Maes committed
470
  create_table "broadcast_messages", id: :serial, force: :cascade do |t|
471
    t.text "message", null: false
472
473
474
475
    t.datetime "starts_at", null: false
    t.datetime "ends_at", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
476
477
    t.string "color"
    t.string "font"
478
    t.text "message_html", null: false
479
    t.integer "cached_markdown_version"
480
    t.index ["starts_at", "ends_at", "id"], name: "index_broadcast_messages_on_starts_at_and_ends_at_and_id"
481
  end
482

Jasper Maes's avatar
Jasper Maes committed
483
  create_table "chat_names", id: :serial, force: :cascade do |t|
484
485
    t.integer "user_id", null: false
    t.integer "service_id", null: false
486
    t.string "team_id", null: false
487
    t.string "team_domain"
488
    t.string "chat_id", null: false
489
    t.string "chat_name"
490
    t.datetime "last_used_at"
491
492
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
493
494
    t.index ["service_id", "team_id", "chat_id"], name: "index_chat_names_on_service_id_and_team_id_and_chat_id", unique: true
    t.index ["user_id", "service_id"], name: "index_chat_names_on_user_id_and_service_id", unique: true
495
  end
496

Jasper Maes's avatar
Jasper Maes committed
497
  create_table "chat_teams", id: :serial, force: :cascade do |t|
498
    t.integer "namespace_id", null: false
499
500
501
502
    t.string "team_id"
    t.string "name"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
503
    t.index ["namespace_id"], name: "index_chat_teams_on_namespace_id", unique: true
Douwe Maan's avatar
Douwe Maan committed
504
505
  end

Kamil Trzciński's avatar
Kamil Trzciński committed
506
507
508
509
510
511
  create_table "ci_build_needs", id: :serial, force: :cascade do |t|
    t.integer "build_id", null: false
    t.text "name", null: false
    t.index ["build_id", "name"], name: "index_ci_build_needs_on_build_id_and_name", unique: true
  end

Jasper Maes's avatar
Jasper Maes committed
512
  create_table "ci_build_trace_chunks", force: :cascade do |t|
513
514
515
516
    t.integer "build_id", null: false
    t.integer "chunk_index", null: false
    t.integer "data_store", null: false
    t.binary "raw_data"
517
    t.index ["build_id", "chunk_index"], name: "index_ci_build_trace_chunks_on_build_id_and_chunk_index", unique: true
518
519
  end

Jasper Maes's avatar
Jasper Maes committed
520
  create_table "ci_build_trace_section_names", id: :serial, force: :cascade do |t|
521
522
    t.integer "project_id", null: false
    t.string "name", null: false
523
    t.index ["project_id", "name"], name: "index_ci_build_trace_section_names_on_project_id_and_name", unique: true
524
525
  end

Jasper Maes's avatar
Jasper Maes committed
526
  create_table "ci_build_trace_sections", id: :serial, force: :cascade do |t|
Alessio Caiazza's avatar
Alessio Caiazza committed
527
    t.integer "project_id", null: false
528
529
    t.datetime_with_timezone "date_start", null: false
    t.datetime_with_timezone "date_end", null: false
530
531
    t.bigint "byte_start", null: false
    t.bigint "byte_end", null: false
532
533
    t.integer "build_id", null: false
    t.integer "section_name_id", null: false
534
535
536
    t.index ["build_id", "section_name_id"], name: "index_ci_build_trace_sections_on_build_id_and_section_name_id", unique: true
    t.index ["project_id"], name: "index_ci_build_trace_sections_on_project_id"
    t.index ["section_name_id"], name: "index_ci_build_trace_sections_on_section_name_id"
537
538
  end

Jasper Maes's avatar
Jasper Maes committed
539
  create_table "ci_builds", id: :serial, force: :cascade do |t|
540
    t.string "status"
Douwe Maan's avatar
Douwe Maan committed
541
    t.datetime "finished_at"
542
    t.text "trace"
Douwe Maan's avatar
Douwe Maan committed
543
544
545
    t.datetime "created_at"
    t.datetime "updated_at"
    t.datetime "started_at"
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
    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"
Kamil Trzciński's avatar
Kamil Trzciński committed
563
    t.integer "project_id"
564
565
    t.text "artifacts_metadata"
    t.integer "erased_by_id"
566
    t.datetime "erased_at"
567
    t.datetime "artifacts_expire_at"
568
    t.string "environment"
569
    t.bigint "artifacts_size"
570
571
    t.string "when"
    t.text "yaml_variables"
572
    t.datetime "queued_at"
573
    t.string "token"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
574
    t.integer "lock_version"
575
    t.string "coverage_regex"
576
    t.integer "auto_canceled_by_id"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
577
    t.boolean "retried"
578
    t.integer "stage_id"
579
580
    t.integer "artifacts_file_store"
    t.integer "artifacts_metadata_store"
581
    t.boolean "protected"
582
    t.integer "failure_reason"
583
    t.datetime_with_timezone "scheduled_at"
Kamil Trzciński's avatar
Kamil Trzciński committed
584
    t.string "token_encrypted"
585
    t.integer "upstream_pipeline_id"
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
    t.index ["artifacts_expire_at"], name: "index_ci_builds_on_artifacts_expire_at", where: "(artifacts_file <> ''::text)"
    t.index ["auto_canceled_by_id"], name: "index_ci_builds_on_auto_canceled_by_id"
    t.index ["commit_id", "artifacts_expire_at", "id"], name: "index_ci_builds_on_commit_id_and_artifacts_expireatandidpartial", where: "(((type)::text = 'Ci::Build'::text) AND ((retried = false) OR (retried IS NULL)) AND ((name)::text = ANY (ARRAY[('sast'::character varying)::text, ('dependency_scanning'::character varying)::text, ('sast:container'::character varying)::text, ('container_scanning'::character varying)::text, ('dast'::character varying)::text])))"
    t.index ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at"
    t.index ["commit_id", "status", "type"], name: "index_ci_builds_on_commit_id_and_status_and_type"
    t.index ["commit_id", "type", "name", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_name_and_ref"
    t.index ["commit_id", "type", "ref"], name: "index_ci_builds_on_commit_id_and_type_and_ref"
    t.index ["name"], name: "index_ci_builds_on_name_for_security_products_values", where: "((name)::text = ANY (ARRAY[('container_scanning'::character varying)::text, ('dast'::character varying)::text, ('dependency_scanning'::character varying)::text, ('license_management'::character varying)::text, ('sast'::character varying)::text]))"
    t.index ["project_id", "id"], name: "index_ci_builds_on_project_id_and_id"
    t.index ["project_id", "status"], name: "index_ci_builds_project_id_and_status_for_live_jobs_partial2", where: "(((type)::text = 'Ci::Build'::text) AND ((status)::text = ANY (ARRAY[('running'::character varying)::text, ('pending'::character varying)::text, ('created'::character varying)::text])))"
    t.index ["protected"], name: "index_ci_builds_on_protected"
    t.index ["queued_at"], name: "index_ci_builds_on_queued_at"
    t.index ["runner_id"], name: "index_ci_builds_on_runner_id"
    t.index ["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))"
    t.index ["stage_id", "stage_idx"], name: "tmp_build_stage_position_index", where: "(stage_idx IS NOT NULL)"
    t.index ["stage_id"], name: "index_ci_builds_on_stage_id"
    t.index ["status", "type", "runner_id"], name: "index_ci_builds_on_status_and_type_and_runner_id"
    t.index ["token"], name: "index_ci_builds_on_token", unique: true
    t.index ["token_encrypted"], name: "index_ci_builds_on_token_encrypted", unique: true, where: "(token_encrypted IS NOT NULL)"
    t.index ["updated_at"], name: "index_ci_builds_on_updated_at"
    t.index ["upstream_pipeline_id"], name: "index_ci_builds_on_upstream_pipeline_id", where: "(upstream_pipeline_id IS NOT NULL)"
    t.index ["user_id"], name: "index_ci_builds_on_user_id"
Douwe Maan's avatar
Douwe Maan committed
608
609
  end

Jasper Maes's avatar
Jasper Maes committed
610
  create_table "ci_builds_metadata", id: :serial, force: :cascade do |t|
611
    t.integer "build_id", null: false
612
    t.integer "project_id", null: false
613
    t.integer "timeout"
614
    t.integer "timeout_source", default: 1, null: false
615
616
    t.jsonb "config_options"
    t.jsonb "config_variables"
617
618
    t.index ["build_id"], name: "index_ci_builds_metadata_on_build_id", unique: true
    t.index ["project_id"], name: "index_ci_builds_metadata_on_project_id"
619
620
  end

Jasper Maes's avatar
Jasper Maes committed
621
  create_table "ci_builds_runner_session", force: :cascade do |t|
622
623
624
625
    t.integer "build_id", null: false
    t.string "url", null: false
    t.string "certificate"
    t.string "authorization"
626
    t.index ["build_id"], name: "index_ci_builds_runner_session_on_build_id", unique: true
627
628
  end

Jasper Maes's avatar
Jasper Maes committed
629
  create_table "ci_group_variables", id: :serial, force: :cascade do |t|
630
631
632
633
634
    t.string "key", null: false
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
Shinya Maeda's avatar
fix    
Shinya Maeda committed
635
636
    t.integer "group_id", null: false
    t.boolean "protected", default: false, null: false
637
638
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
639
    t.boolean "masked", default: false, null: false
640
    t.integer "variable_type", limit: 2, default: 1, null: false
641
    t.index ["group_id", "key"], name: "index_ci_group_variables_on_group_id_and_key", unique: true
642
643
  end

Jasper Maes's avatar
Jasper Maes committed
644
  create_table "ci_job_artifacts", id: :serial, force: :cascade do |t|
645
    t.integer "project_id", null: false
Zeger-Jan van de Weg's avatar
Zeger-Jan van de Weg committed
646
    t.integer "job_id", null: false
647
    t.integer "file_type", null: false
648
    t.integer "file_store"
649
    t.bigint "size"
650
651
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
652
    t.datetime_with_timezone "expire_at"
653
    t.string "file"
654
    t.binary "file_sha256"
655
    t.integer "file_format", limit: 2
656
    t.integer "file_location", limit: 2
657
658
659
660
    t.index ["expire_at", "job_id"], name: "index_ci_job_artifacts_on_expire_at_and_job_id"
    t.index ["file_store"], name: "index_ci_job_artifacts_on_file_store"
    t.index ["job_id", "file_type"], name: "index_ci_job_artifacts_on_job_id_and_file_type", unique: true
    t.index ["project_id"], name: "index_ci_job_artifacts_on_project_id"
661
662
  end

Matija Čupić's avatar
Matija Čupić committed
663
664
665
666
667
668
669
670
671
672
  create_table "ci_job_variables", force: :cascade do |t|
    t.string "key", null: false
    t.text "encrypted_value"
    t.string "encrypted_value_iv"
    t.bigint "job_id", null: false
    t.integer "variable_type", limit: 2, default: 1, null: false
    t.index ["job_id"], name: "index_ci_job_variables_on_job_id"
    t.index ["key", "job_id"], name: "index_ci_job_variables_on_key_and_job_id", unique: true
  end

Jasper Maes's avatar
Jasper Maes committed
673
  create_table "ci_pipeline_chat_data", force: :cascade do |t|
674
675
676
    t.integer "pipeline_id", null: false
    t.integer "chat_name_id", null: false
    t.text "response_url", null: false
677
678
    t.index ["chat_name_id"], name: "index_ci_pipeline_chat_data_on_chat_name_id"
    t.index ["pipeline_id"], name: "index_ci_pipeline_chat_data_on_pipeline_id", unique: true
679
680
  end

Shinya Maeda's avatar
fix    
Shinya Maeda committed
681
  create_table "ci_pipeline_schedule_variables", force: :cascade do |t|
Shinya Maeda's avatar
Shinya Maeda committed
682
683
684
685
686
    t.string "key", null: false
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
Shinya Maeda's avatar
fix    
Shinya Maeda committed
687
    t.integer "pipeline_schedule_id", null: false
688
689
    t.datetime_with_timezone "created_at"
    t.datetime_with_timezone "updated_at"
690
    t.integer "variable_type", limit: 2, default: 1, null: false
691
    t.index ["pipeline_schedule_id", "key"], name: "index_ci_pipeline_schedule_variables_on_schedule_id_and_key", unique: true
Shinya Maeda's avatar
Shinya Maeda committed
692
693
  end

Jasper Maes's avatar
Jasper Maes committed
694
  create_table "ci_pipeline_schedules", id: :serial, force: :cascade do |t|
695
696
697
698
699
700
701
702
    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
Douwe Maan's avatar
Douwe Maan committed
703
704
    t.datetime "created_at"
    t.datetime "updated_at"
705
706
707
    t.index ["next_run_at", "active"], name: "index_ci_pipeline_schedules_on_next_run_at_and_active"
    t.index ["owner_id"], name: "index_ci_pipeline_schedules_on_owner_id"
    t.index ["project_id"], name: "index_ci_pipeline_schedules_on_project_id"
Douwe Maan's avatar
Douwe Maan committed
708
709
  end

Jasper Maes's avatar
Jasper Maes committed
710
  create_table "ci_pipeline_variables", id: :serial, force: :cascade do |t|
Shinya Maeda's avatar
init    
Shinya Maeda committed
711
712
713
714
715
716
    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
717
    t.integer "variable_type", limit: 2, default: 1, null: false
718
    t.index ["pipeline_id", "key"], name: "index_ci_pipeline_variables_on_pipeline_id_and_key", unique: true
Shinya Maeda's avatar
init    
Shinya Maeda committed
719
720
  end

Jasper Maes's avatar
Jasper Maes committed
721
  create_table "ci_pipelines", id: :serial, force: :cascade do |t|
722
723
724
    t.string "ref"
    t.string "sha"
    t.string "before_sha"
Douwe Maan's avatar
Douwe Maan committed
725
726
    t.datetime "created_at"
    t.datetime "updated_at"
727
728
    t.boolean "tag", default: false
    t.text "yaml_errors"
Douwe Maan's avatar
Douwe Maan committed
729
    t.datetime "committed_at"
Kamil Trzciński's avatar
Kamil Trzciński committed
730
    t.integer "project_id"
731
    t.string "status"
732
733
    t.datetime "started_at"
    t.datetime "finished_at"
734
735
    t.integer "duration"
    t.integer "user_id"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
736
    t.integer "lock_version"
737
    t.integer "auto_canceled_by_id"
738
    t.integer "pipeline_schedule_id"
739
    t.integer "source"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
740
    t.integer "config_source"
741
    t.boolean "protected"
742
    t.integer "failure_reason"
Shinya Maeda's avatar
Shinya Maeda committed
743
    t.integer "iid"
Shinya Maeda's avatar
Shinya Maeda committed
744
    t.integer "merge_request_id"
745
746
    t.binary "source_sha"
    t.binary "target_sha"
747
748
749
750
751
752
753
754
755
756
757
758
    t.index ["auto_canceled_by_id"], name: "index_ci_pipelines_on_auto_canceled_by_id"
    t.index ["merge_request_id"], name: "index_ci_pipelines_on_merge_request_id", where: "(merge_request_id IS NOT NULL)"
    t.index ["pipeline_schedule_id"], name: "index_ci_pipelines_on_pipeline_schedule_id"
    t.index ["project_id", "iid"], name: "index_ci_pipelines_on_project_id_and_iid", unique: true, where: "(iid IS NOT NULL)"
    t.index ["project_id", "ref", "id"], name: "index_ci_pipelines_on_project_idandrefandiddesc", order: { id: :desc }
    t.index ["project_id", "ref", "status", "id"], name: "index_ci_pipelines_on_project_id_and_ref_and_status_and_id"
    t.index ["project_id", "sha"], name: "index_ci_pipelines_on_project_id_and_sha"
    t.index ["project_id", "source"], name: "index_ci_pipelines_on_project_id_and_source"
    t.index ["project_id", "status", "config_source"], name: "index_ci_pipelines_on_project_id_and_status_and_config_source"
    t.index ["project_id"], name: "index_ci_pipelines_on_project_id"
    t.index ["status"], name: "index_ci_pipelines_on_status"
    t.index ["user_id"], name: "index_ci_pipelines_on_user_id"
Douwe Maan's avatar
Douwe Maan committed
759
760
  end

Jasper Maes's avatar
Jasper Maes committed
761
  create_table "ci_runner_namespaces", id: :serial, force: :cascade do |t|
Alexis Reigel's avatar
Alexis Reigel committed
762
    t.integer "runner_id"
763
    t.integer "namespace_id"
764
765
    t.index ["namespace_id"], name: "index_ci_runner_namespaces_on_namespace_id"
    t.index ["runner_id", "namespace_id"], name: "index_ci_runner_namespaces_on_runner_id_and_namespace_id", unique: true
Alexis Reigel's avatar
Alexis Reigel committed
766
767
  end

Jasper Maes's avatar
Jasper Maes committed
768
  create_table "ci_runner_projects", id: :serial, force: :cascade do |t|
769
    t.integer "runner_id", null: false
Douwe Maan's avatar
Douwe Maan committed
770
771
    t.datetime "created_at"
    t.datetime "updated_at"
Kamil Trzciński's avatar
Kamil Trzciński committed
772
    t.integer "project_id"
773
774
    t.index ["project_id"], name: "index_ci_runner_projects_on_project_id"
    t.index ["runner_id"], name: "index_ci_runner_projects_on_runner_id"
Douwe Maan's avatar
Douwe Maan committed
775
776
  end

Jasper Maes's avatar
Jasper Maes committed
777
  create_table "ci_runners", id: :serial, force: :cascade do |t|
778
    t.string "token"
Douwe Maan's avatar
Douwe Maan committed
779
780
    t.datetime "created_at"
    t.datetime "updated_at"
781
    t.string "description"
Douwe Maan's avatar
Douwe Maan committed
782
    t.datetime "contacted_at"
783
784
785
786
787
788
789
790
791
    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
792
    t.integer "access_level", default: 0, null: false
793
    t.string "ip_address"
794
    t.integer "maximum_timeout"
795
    t.integer "runner_type", limit: 2, null: false
796
    t.string "token_encrypted"
797
798
799
800
801
802
    t.index ["contacted_at"], name: "index_ci_runners_on_contacted_at"
    t.index ["is_shared"], name: "index_ci_runners_on_is_shared"
    t.index ["locked"], name: "index_ci_runners_on_locked"
    t.index ["runner_type"], name: "index_ci_runners_on_runner_type"
    t.index ["token"], name: "index_ci_runners_on_token"
    t.index ["token_encrypted"], name: "index_ci_runners_on_token_encrypted"
Douwe Maan's avatar
Douwe Maan committed
803
804
  end

805
806
807
808
809
810
  create_table "ci_sources_pipelines", id: :serial, force: :cascade do |t|
    t.integer "project_id"
    t.integer "pipeline_id"
    t.integer "source_project_id"
    t.integer "source_job_id"
    t.integer "source_pipeline_id"
811
812
813
814
815
    t.index ["pipeline_id"], name: "index_ci_sources_pipelines_on_pipeline_id"
    t.index ["project_id"], name: "index_ci_sources_pipelines_on_project_id"
    t.index ["source_job_id"], name: "index_ci_sources_pipelines_on_source_job_id"
    t.index ["source_pipeline_id"], name: "index_ci_sources_pipelines_on_source_pipeline_id"
    t.index ["source_project_id"], name: "index_ci_sources_pipelines_on_source_project_id"
816
817
  end

Jasper Maes's avatar
Jasper Maes committed
818
  create_table "ci_stages", id: :serial, force: :cascade do |t|
819
820
    t.integer "project_id"
    t.integer "pipeline_id"
Douwe Maan's avatar
Douwe Maan committed
821
822
    t.datetime "created_at"
    t.datetime "updated_at"
823
    t.string "name"
824
    t.integer "status"
825
    t.integer "lock_version"
826
    t.integer "position"
827
828
829
830
    t.index ["pipeline_id", "name"], name: "index_ci_stages_on_pipeline_id_and_name", unique: true
    t.index ["pipeline_id", "position"], name: "index_ci_stages_on_pipeline_id_and_position"
    t.index ["pipeline_id"], name: "index_ci_stages_on_pipeline_id"
    t.index ["project_id"], name: "index_ci_stages_on_project_id"
Douwe Maan's avatar
Douwe Maan committed
831
832
  end

Jasper Maes's avatar
Jasper Maes committed
833
  create_table "ci_trigger_requests", id: :serial, force: :cascade do |t|
834
835
    t.integer "trigger_id", null: false
    t.text "variables"
Douwe Maan's avatar
Douwe Maan committed
836
837
    t.datetime "created_at"
    t.datetime "updated_at"
838
    t.integer "commit_id"
839
840
    t.index ["commit_id"], name: "index_ci_trigger_requests_on_commit_id"
    t.index ["trigger_id"], name: "index_ci_trigger_requests_on_trigger_id"
Douwe Maan's avatar
Douwe Maan committed
841
842
  end

Jasper Maes's avatar
Jasper Maes committed
843
  create_table "ci_triggers", id: :serial, force: :cascade do |t|
844
    t.string "token"
Douwe Maan's avatar
Douwe Maan committed
845
846
    t.datetime "created_at"
    t.datetime "updated_at"
Kamil Trzciński's avatar
Kamil Trzciński committed
847
    t.integer "project_id"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
848
849
    t.integer "owner_id"
    t.string "description"
Shinya Maeda's avatar
Shinya Maeda committed
850
    t.string "ref"
851
852
    t.index ["owner_id"], name: "index_ci_triggers_on_owner_id"
    t.index ["project_id"], name: "index_ci_triggers_on_project_id"
Douwe Maan's avatar
Douwe Maan committed
853
854
  end

Jasper Maes's avatar
Jasper Maes committed
855
  create_table "ci_variables", id: :serial, force: :cascade do |t|
856
    t.string "key", null: false
857
858
859
860
    t.text "value"
    t.text "encrypted_value"
    t.string "encrypted_value_salt"
    t.string "encrypted_value_iv"
861
    t.integer "project_id", null: false
862
    t.boolean "protected", default: false, null: false
863
    t.string "environment_scope", default: "*", null: false
864
    t.boolean "masked", default: false, null: false
865
    t.integer "variable_type", limit: 2, default: 1, null: false
866
    t.index ["project_id", "key", "environment_scope"], name: "index_ci_variables_on_project_id_and_key_and_environment_scope", unique: true
Douwe Maan's avatar
Douwe Maan committed
867
868
  end

Jasper Maes's avatar
Jasper Maes committed
869
  create_table "cluster_groups", id: :serial, force: :cascade do |t|
870
871
    t.integer "cluster_id", null: false
    t.integer "group_id", null: false
872
873
    t.index ["cluster_id", "group_id"], name: "index_cluster_groups_on_cluster_id_and_group_id", unique: true
    t.index ["group_id"], name: "index_cluster_groups_on_group_id"
874
875
  end

Jasper Maes's avatar
Jasper Maes committed
876
  create_table "cluster_platforms_kubernetes", id: :serial, force: :cascade do |t|
Shinya Maeda's avatar
Shinya Maeda committed
877
    t.integer "cluster_id", null: false
Kamil Trzcinski's avatar
Kamil Trzcinski committed
878
879
880
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.text "api_url"
Shinya Maeda's avatar
Shinya Maeda committed
881
882
883
884
885
886
887
    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"
888
    t.integer "authorization_type", limit: 2
889
    t.index ["cluster_id"], name: "index_cluster_platforms_kubernetes_on_cluster_id", unique: true
Shinya Maeda's avatar
Shinya Maeda committed
890
891
  end

Jasper Maes's avatar
Jasper Maes committed
892
  create_table "cluster_projects", id: :serial, force: :cascade do |t|
Shinya Maeda's avatar
Shinya Maeda committed
893
894
    t.integer "project_id", null: false
    t.integer "cluster_id", null: false
895
896
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
897
898
    t.index ["cluster_id"], name: "index_cluster_projects_on_cluster_id"
    t.index ["project_id"], name: "index_cluster_projects_on_project_id"
Shinya Maeda's avatar
Shinya Maeda committed
899
900
  end

Jasper Maes's avatar
Jasper Maes committed
901
  create_table "cluster_providers_gcp", id: :serial, force: :cascade do |t|
Shinya Maeda's avatar
Shinya Maeda committed
902
903
    t.integer "cluster_id", null: false
    t.integer "status"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
904
905
906
    t.integer "num_nodes", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
Shinya Maeda's avatar
Shinya Maeda committed
907
908
909
910
911
912
913
914
    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"
915
    t.boolean "legacy_abac", default: false, null: false
916
    t.index ["cluster_id"], name: "index_cluster_providers_gcp_on_cluster_id", unique: true
Shinya Maeda's avatar
Shinya Maeda committed
917
918
  end

Jasper Maes's avatar
Jasper Maes committed
919
  create_table "clusters", id: :serial, force: :cascade do |t|
920
    t.integer "user_id"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
921
922
923
924
    t.integer "provider_type"
    t.integer "platform_type"
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
925
926
    t.boolean "enabled", default: true
    t.string "name", null: false
927
    t.string "environment_scope", default: "*", null: false
928
    t.integer "cluster_type", limit: 2, default: 3, null: false
929
    t.string "domain"
930
    t.boolean "managed", default: true, null: false
931
    t.boolean "namespace_per_environment", default: false, null: false
932
933
    t.index ["enabled"], name: "index_clusters_on_enabled"
    t.index ["user_id"], name: "index_clusters_on_user_id"
Amit Rathi's avatar
Amit Rathi committed
934
935
  end

Jasper Maes's avatar
Jasper Maes committed
936
  create_table "clusters_applications_cert_managers", id: :serial, force: :cascade do |t|
937
938
939
940
941
942
943
    t.integer "cluster_id", null: false
    t.integer "status", null: false
    t.string "version", null: false
    t.string "email", null: false
    t.datetime_with_timezone "created_at", null: false
    t.datetime_with_timezone "updated_at", null: false
    t.text "status_reason"
944
    t.index ["cluster_id"], name: "index_clusters_applications_cert_managers_on_cluster_id", unique: true
945
946
  end

Jasper Maes's avatar