diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-25 03:11:24 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-25 03:11:24 +0300 |
commit | cffcf0772c5354d0d55fd4e32f724108a9582f15 (patch) | |
tree | ac827ac27f31b41f9e05d4ffe757be9f54aa6578 /db | |
parent | 1631d8a2e0eef291f1d0b9486ee35ed6b52a176a (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20210209110019_create_external_approval_rules.rb | 44 | ||||
-rw-r--r-- | db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb | 18 | ||||
-rw-r--r-- | db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb | 18 | ||||
-rw-r--r-- | db/schema_migrations/20210209110019 | 1 | ||||
-rw-r--r-- | db/schema_migrations/20210223132934 | 1 | ||||
-rw-r--r-- | db/schema_migrations/20210223133116 | 1 | ||||
-rw-r--r-- | db/structure.sql | 62 |
7 files changed, 145 insertions, 0 deletions
diff --git a/db/migrate/20210209110019_create_external_approval_rules.rb b/db/migrate/20210209110019_create_external_approval_rules.rb new file mode 100644 index 00000000000..5d6780ec412 --- /dev/null +++ b/db/migrate/20210209110019_create_external_approval_rules.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +class CreateExternalApprovalRules < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + disable_ddl_transaction! + + DOWNTIME = false + + def up + create_table_with_constraints :external_approval_rules, if_not_exists: true do |t| + t.references :project, foreign_key: { on_delete: :cascade }, null: false, index: false + t.timestamps_with_timezone + t.text :external_url, null: false + t.text_limit :external_url, 255 + t.text :name, null: false + t.text_limit :name, 255 + + t.index([:project_id, :name], + unique: true, + name: 'idx_on_external_approval_rules_project_id_name') + t.index([:project_id, :external_url], + unique: true, + name: 'idx_on_external_approval_rules_project_id_external_url') + end + + create_table :external_approval_rules_protected_branches do |t| + t.bigint :external_approval_rule_id, null: false, index: { name: 'idx_eaprpb_external_approval_rule_id' } + t.bigint :protected_branch_id, null: false + t.index([:protected_branch_id, :external_approval_rule_id], + unique: true, + name: 'idx_protected_branch_id_external_approval_rule_id') + end + end + + def down + with_lock_retries do + drop_table :external_approval_rules_protected_branches, force: :cascade, if_exists: true + end + + with_lock_retries do + drop_table :external_approval_rules, force: :cascade, if_exists: true + end + end +end diff --git a/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb b/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb new file mode 100644 index 00000000000..b5f04672813 --- /dev/null +++ b/db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class AddForeignKeyToExternalApprovalRules < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_foreign_key :external_approval_rules_protected_branches, :external_approval_rules, column: :external_approval_rule_id, on_delete: :cascade + end + + def down + with_lock_retries do + remove_foreign_key :external_approval_rules_protected_branches, column: :external_approval_rule_id + end + end +end diff --git a/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb b/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb new file mode 100644 index 00000000000..ad51f765d8a --- /dev/null +++ b/db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class AddForeignKeyToExternalApprovalRulesProtectedBranches < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_foreign_key :external_approval_rules_protected_branches, :protected_branches, column: :protected_branch_id, on_delete: :cascade + end + + def down + with_lock_retries do + remove_foreign_key :external_approval_rules_protected_branches, column: :protected_branch_id + end + end +end diff --git a/db/schema_migrations/20210209110019 b/db/schema_migrations/20210209110019 new file mode 100644 index 00000000000..d11e6e5a167 --- /dev/null +++ b/db/schema_migrations/20210209110019 @@ -0,0 +1 @@ +a24354264df3c12411af040903d26faf298f06a7334ef118f87b3e88b683b326
\ No newline at end of file diff --git a/db/schema_migrations/20210223132934 b/db/schema_migrations/20210223132934 new file mode 100644 index 00000000000..6e2b0696bad --- /dev/null +++ b/db/schema_migrations/20210223132934 @@ -0,0 +1 @@ +99ee6773319af0fa7a1dfef92f67cc95141c892bf7adcf500d46adc1ebd4c70f
\ No newline at end of file diff --git a/db/schema_migrations/20210223133116 b/db/schema_migrations/20210223133116 new file mode 100644 index 00000000000..235053e8fe8 --- /dev/null +++ b/db/schema_migrations/20210223133116 @@ -0,0 +1 @@ +991041c8d3092175165834a988eb32141e49d7785cda756c8a78170b4af6db64
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index c3b46a15098..08d79ddf007 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -12349,6 +12349,41 @@ CREATE SEQUENCE experiments_id_seq ALTER SEQUENCE experiments_id_seq OWNED BY experiments.id; +CREATE TABLE external_approval_rules ( + id bigint NOT NULL, + project_id bigint NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL, + external_url text NOT NULL, + name text NOT NULL, + CONSTRAINT check_1c64b53ea5 CHECK ((char_length(name) <= 255)), + CONSTRAINT check_b634ca168d CHECK ((char_length(external_url) <= 255)) +); + +CREATE SEQUENCE external_approval_rules_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +ALTER SEQUENCE external_approval_rules_id_seq OWNED BY external_approval_rules.id; + +CREATE TABLE external_approval_rules_protected_branches ( + id bigint NOT NULL, + external_approval_rule_id bigint NOT NULL, + protected_branch_id bigint NOT NULL +); + +CREATE SEQUENCE external_approval_rules_protected_branches_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +ALTER SEQUENCE external_approval_rules_protected_branches_id_seq OWNED BY external_approval_rules_protected_branches.id; + CREATE TABLE external_pull_requests ( id bigint NOT NULL, created_at timestamp with time zone NOT NULL, @@ -18995,6 +19030,10 @@ ALTER TABLE ONLY experiment_users ALTER COLUMN id SET DEFAULT nextval('experimen ALTER TABLE ONLY experiments ALTER COLUMN id SET DEFAULT nextval('experiments_id_seq'::regclass); +ALTER TABLE ONLY external_approval_rules ALTER COLUMN id SET DEFAULT nextval('external_approval_rules_id_seq'::regclass); + +ALTER TABLE ONLY external_approval_rules_protected_branches ALTER COLUMN id SET DEFAULT nextval('external_approval_rules_protected_branches_id_seq'::regclass); + ALTER TABLE ONLY external_pull_requests ALTER COLUMN id SET DEFAULT nextval('external_pull_requests_id_seq'::regclass); ALTER TABLE ONLY feature_gates ALTER COLUMN id SET DEFAULT nextval('feature_gates_id_seq'::regclass); @@ -20219,6 +20258,12 @@ ALTER TABLE ONLY experiment_users ALTER TABLE ONLY experiments ADD CONSTRAINT experiments_pkey PRIMARY KEY (id); +ALTER TABLE ONLY external_approval_rules + ADD CONSTRAINT external_approval_rules_pkey PRIMARY KEY (id); + +ALTER TABLE ONLY external_approval_rules_protected_branches + ADD CONSTRAINT external_approval_rules_protected_branches_pkey PRIMARY KEY (id); + ALTER TABLE ONLY external_pull_requests ADD CONSTRAINT external_pull_requests_pkey PRIMARY KEY (id); @@ -21317,6 +21362,8 @@ CREATE INDEX idx_container_repositories_on_exp_cleanup_status_and_start_date ON CREATE INDEX idx_deployment_clusters_on_cluster_id_and_kubernetes_namespace ON deployment_clusters USING btree (cluster_id, kubernetes_namespace); +CREATE INDEX idx_eaprpb_external_approval_rule_id ON external_approval_rules_protected_branches USING btree (external_approval_rule_id); + CREATE UNIQUE INDEX idx_environment_merge_requests_unique_index ON deployment_merge_requests USING btree (environment_id, merge_request_id); CREATE INDEX idx_geo_con_rep_updated_events_on_container_repository_id ON geo_container_repository_updated_events USING btree (container_repository_id); @@ -21357,6 +21404,10 @@ CREATE INDEX idx_mr_cc_diff_files_on_mr_cc_id_and_sha ON merge_request_context_c CREATE UNIQUE INDEX idx_on_compliance_management_frameworks_namespace_id_name ON compliance_management_frameworks USING btree (namespace_id, name); +CREATE UNIQUE INDEX idx_on_external_approval_rules_project_id_external_url ON external_approval_rules USING btree (project_id, external_url); + +CREATE UNIQUE INDEX idx_on_external_approval_rules_project_id_name ON external_approval_rules USING btree (project_id, name); + CREATE INDEX idx_packages_build_infos_on_package_id ON packages_build_infos USING btree (package_id); CREATE INDEX idx_packages_debian_group_component_files_on_architecture_id ON packages_debian_group_component_files USING btree (architecture_id); @@ -21385,6 +21436,8 @@ CREATE INDEX idx_projects_id_created_at_disable_overriding_approvers_true ON pro CREATE INDEX idx_projects_on_repository_storage_last_repository_updated_at ON projects USING btree (id, repository_storage, last_repository_updated_at); +CREATE UNIQUE INDEX idx_protected_branch_id_external_approval_rule_id ON external_approval_rules_protected_branches USING btree (protected_branch_id, external_approval_rule_id); + CREATE INDEX idx_repository_states_on_last_repository_verification_ran_at ON project_repository_states USING btree (project_id, last_repository_verification_ran_at) WHERE ((repository_verification_checksum IS NOT NULL) AND (last_repository_verification_failure IS NULL)); CREATE INDEX idx_repository_states_on_last_wiki_verification_ran_at ON project_repository_states USING btree (project_id, last_wiki_verification_ran_at) WHERE ((wiki_verification_checksum IS NOT NULL) AND (last_wiki_verification_failure IS NULL)); @@ -24695,6 +24748,12 @@ ALTER TABLE ONLY issues ALTER TABLE ONLY issue_links ADD CONSTRAINT fk_c900194ff2 FOREIGN KEY (source_id) REFERENCES issues(id) ON DELETE CASCADE; +ALTER TABLE ONLY external_approval_rules_protected_branches + ADD CONSTRAINT fk_c9a037a926 FOREIGN KEY (external_approval_rule_id) REFERENCES external_approval_rules(id) ON DELETE CASCADE; + +ALTER TABLE ONLY external_approval_rules_protected_branches + ADD CONSTRAINT fk_ca2ffb55e6 FOREIGN KEY (protected_branch_id) REFERENCES protected_branches(id) ON DELETE CASCADE; + ALTER TABLE ONLY experiment_subjects ADD CONSTRAINT fk_ccc28f8ceb FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; @@ -26309,6 +26368,9 @@ ALTER TABLE ONLY ci_job_variables ALTER TABLE ONLY packages_nuget_metadata ADD CONSTRAINT fk_rails_fc0c19f5b4 FOREIGN KEY (package_id) REFERENCES packages_packages(id) ON DELETE CASCADE; +ALTER TABLE ONLY external_approval_rules + ADD CONSTRAINT fk_rails_fd4f9ac573 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; + ALTER TABLE ONLY experiment_users ADD CONSTRAINT fk_rails_fd805f771a FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE; |