diff --git a/db/post_migrate/20240604111157_add_approval_policy_rules_fk_on_approval_group_rules.rb b/db/post_migrate/20240604111157_add_approval_policy_rules_fk_on_approval_group_rules.rb new file mode 100644 index 0000000000000000000000000000000000000000..2f7721ae7abe94e491025747065fef5ee4ed7066 --- /dev/null +++ b/db/post_migrate/20240604111157_add_approval_policy_rules_fk_on_approval_group_rules.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddApprovalPolicyRulesFkOnApprovalGroupRules < Gitlab::Database::Migration[2.2] + milestone '17.2' + disable_ddl_transaction! + + INDEX_NAME = 'index_approval_group_rules_on_approval_policy_rule_id' + + def up + add_concurrent_index :approval_group_rules, :approval_policy_rule_id, name: INDEX_NAME + add_concurrent_foreign_key :approval_group_rules, :approval_policy_rules, + column: :approval_policy_rule_id, + on_delete: :cascade + end + + def down + remove_foreign_key_if_exists :approval_group_rules, column: :approval_policy_rule_id + remove_concurrent_index_by_name :approval_group_rules, INDEX_NAME + end +end diff --git a/db/post_migrate/20240604111324_add_approval_policy_rules_fk_on_approval_project_rules.rb b/db/post_migrate/20240604111324_add_approval_policy_rules_fk_on_approval_project_rules.rb new file mode 100644 index 0000000000000000000000000000000000000000..f9ecaad4d905592ed578565a475112cbc87a428f --- /dev/null +++ b/db/post_migrate/20240604111324_add_approval_policy_rules_fk_on_approval_project_rules.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddApprovalPolicyRulesFkOnApprovalProjectRules < Gitlab::Database::Migration[2.2] + milestone '17.2' + disable_ddl_transaction! + + INDEX_NAME = 'index_approval_project_rules_on_approval_policy_rule_id' + + def up + add_concurrent_index :approval_project_rules, :approval_policy_rule_id, name: INDEX_NAME + add_concurrent_foreign_key :approval_project_rules, :approval_policy_rules, + column: :approval_policy_rule_id, + on_delete: :cascade + end + + def down + remove_foreign_key_if_exists :approval_project_rules, column: :approval_policy_rule_id + remove_concurrent_index_by_name :approval_project_rules, INDEX_NAME + end +end diff --git a/db/post_migrate/20240604111411_add_approval_policy_rules_fk_on_approval_merge_request_rules.rb b/db/post_migrate/20240604111411_add_approval_policy_rules_fk_on_approval_merge_request_rules.rb new file mode 100644 index 0000000000000000000000000000000000000000..2558b0c15087a3703d9fea9cf69d7c4f7a0caf5e --- /dev/null +++ b/db/post_migrate/20240604111411_add_approval_policy_rules_fk_on_approval_merge_request_rules.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddApprovalPolicyRulesFkOnApprovalMergeRequestRules < Gitlab::Database::Migration[2.2] + milestone '17.2' + disable_ddl_transaction! + + INDEX_NAME = 'index_approval_merge_request_rules_on_approval_policy_rule_id' + + def up + add_concurrent_index :approval_merge_request_rules, :approval_policy_rule_id, name: INDEX_NAME + add_concurrent_foreign_key :approval_merge_request_rules, :approval_policy_rules, + column: :approval_policy_rule_id, + on_delete: :cascade + end + + def down + remove_foreign_key_if_exists :approval_merge_request_rules, column: :approval_policy_rule_id + remove_concurrent_index_by_name :approval_merge_request_rules, INDEX_NAME + end +end diff --git a/db/post_migrate/20240604111512_add_approval_policy_rules_fk_on_software_license_policies.rb b/db/post_migrate/20240604111512_add_approval_policy_rules_fk_on_software_license_policies.rb new file mode 100644 index 0000000000000000000000000000000000000000..05d944f193e56864bf6edbd161633f7fed7ec4f8 --- /dev/null +++ b/db/post_migrate/20240604111512_add_approval_policy_rules_fk_on_software_license_policies.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddApprovalPolicyRulesFkOnSoftwareLicensePolicies < Gitlab::Database::Migration[2.2] + milestone '17.2' + disable_ddl_transaction! + + INDEX_NAME = 'index_software_license_policies_on_approval_policy_rule_id' + + def up + add_concurrent_index :software_license_policies, :approval_policy_rule_id, name: INDEX_NAME + add_concurrent_foreign_key :software_license_policies, :approval_policy_rules, + column: :approval_policy_rule_id, + on_delete: :cascade + end + + def down + remove_foreign_key_if_exists :software_license_policies, column: :approval_policy_rule_id + remove_concurrent_index_by_name :software_license_policies, INDEX_NAME + end +end diff --git a/db/post_migrate/20240604111555_add_approval_policy_rules_fk_on_scan_result_policy_violations.rb b/db/post_migrate/20240604111555_add_approval_policy_rules_fk_on_scan_result_policy_violations.rb new file mode 100644 index 0000000000000000000000000000000000000000..53a7137795747ea87a0d92ab62468042074e6876 --- /dev/null +++ b/db/post_migrate/20240604111555_add_approval_policy_rules_fk_on_scan_result_policy_violations.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddApprovalPolicyRulesFkOnScanResultPolicyViolations < Gitlab::Database::Migration[2.2] + milestone '17.2' + disable_ddl_transaction! + + INDEX_NAME = 'index_scan_result_policy_violations_on_approval_policy_rule_id' + + def up + add_concurrent_index :scan_result_policy_violations, :approval_policy_rule_id, name: INDEX_NAME + add_concurrent_foreign_key :scan_result_policy_violations, :approval_policy_rules, + column: :approval_policy_rule_id, + on_delete: :cascade + end + + def down + remove_foreign_key_if_exists :scan_result_policy_violations, column: :approval_policy_rule_id + remove_concurrent_index_by_name :scan_result_policy_violations, INDEX_NAME + end +end diff --git a/db/schema_migrations/20240604111157 b/db/schema_migrations/20240604111157 new file mode 100644 index 0000000000000000000000000000000000000000..fa64ef71a78311e2d3aaaddc5974d948e0a2a59a --- /dev/null +++ b/db/schema_migrations/20240604111157 @@ -0,0 +1 @@ +5057f80fb6c15decab4922a2de6a9d375f40a9403e8c2a6fa0b486ff1e17162f \ No newline at end of file diff --git a/db/schema_migrations/20240604111324 b/db/schema_migrations/20240604111324 new file mode 100644 index 0000000000000000000000000000000000000000..0bfb344e0941561dc33f6a37d27a3990ded492ad --- /dev/null +++ b/db/schema_migrations/20240604111324 @@ -0,0 +1 @@ +cbfd56180dec618dc3af148b5de76b0049f58fe4a204499cbad1bc81e6fa6ed2 \ No newline at end of file diff --git a/db/schema_migrations/20240604111411 b/db/schema_migrations/20240604111411 new file mode 100644 index 0000000000000000000000000000000000000000..5084f49739ea0a582445b9b1a00780d761c03f70 --- /dev/null +++ b/db/schema_migrations/20240604111411 @@ -0,0 +1 @@ +b243ee0a70bd35a5a28c00e47f2fbd729eab122812afbce7736ca20bd27567c8 \ No newline at end of file diff --git a/db/schema_migrations/20240604111512 b/db/schema_migrations/20240604111512 new file mode 100644 index 0000000000000000000000000000000000000000..ea3ce1f47cd03dea6d6e8429a70d7e00e0a94c6b --- /dev/null +++ b/db/schema_migrations/20240604111512 @@ -0,0 +1 @@ +250db8525e859281ece4ab3e8bdef61fbcc06ae74d45d893457e0695593ff384 \ No newline at end of file diff --git a/db/schema_migrations/20240604111555 b/db/schema_migrations/20240604111555 new file mode 100644 index 0000000000000000000000000000000000000000..7b9c8791ccf65780ae7b7946d65997218fa790f5 --- /dev/null +++ b/db/schema_migrations/20240604111555 @@ -0,0 +1 @@ +db2a2b23c32dd50a820c9b5b03c42cce1d6e2d79767c6d49068a2949132b6727 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 0f2a400e0f378f1cbe43197743bcffa57226954c..8cdf92d7b94408bb861ae3e95e058fd22bd041ef 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -25600,6 +25600,8 @@ CREATE INDEX index_application_settings_web_ide_oauth_application_id ON applicat CREATE INDEX index_approval_group_rules_groups_on_group_id ON approval_group_rules_groups USING btree (group_id); +CREATE INDEX index_approval_group_rules_on_approval_policy_rule_id ON approval_group_rules USING btree (approval_policy_rule_id); + CREATE INDEX index_approval_group_rules_on_scan_result_policy_id ON approval_group_rules USING btree (scan_result_policy_id); CREATE INDEX index_approval_group_rules_users_on_user_id ON approval_group_rules_users USING btree (user_id); @@ -25618,6 +25620,8 @@ CREATE UNIQUE INDEX index_approval_merge_request_rules_groups_1 ON approval_merg CREATE INDEX index_approval_merge_request_rules_groups_2 ON approval_merge_request_rules_groups USING btree (group_id); +CREATE INDEX index_approval_merge_request_rules_on_approval_policy_rule_id ON approval_merge_request_rules USING btree (approval_policy_rule_id); + CREATE INDEX index_approval_merge_request_rules_on_project_id ON approval_merge_request_rules USING btree (project_id); CREATE UNIQUE INDEX index_approval_merge_request_rules_users_1 ON approval_merge_request_rules_users USING btree (approval_merge_request_rule_id, user_id); @@ -25632,6 +25636,8 @@ CREATE UNIQUE INDEX index_approval_project_rules_groups_1 ON approval_project_ru CREATE INDEX index_approval_project_rules_groups_2 ON approval_project_rules_groups USING btree (group_id); +CREATE INDEX index_approval_project_rules_on_approval_policy_rule_id ON approval_project_rules USING btree (approval_policy_rule_id); + CREATE INDEX index_approval_project_rules_on_id_with_regular_type ON approval_project_rules USING btree (id) WHERE (rule_type = 0); CREATE INDEX index_approval_project_rules_on_project_id ON approval_project_rules USING btree (project_id); @@ -28474,6 +28480,8 @@ CREATE UNIQUE INDEX index_scan_result_policies_on_position_in_configuration ON s CREATE INDEX index_scan_result_policies_on_project_id ON scan_result_policies USING btree (project_id); +CREATE INDEX index_scan_result_policy_violations_on_approval_policy_rule_id ON scan_result_policy_violations USING btree (approval_policy_rule_id); + CREATE INDEX index_scan_result_policy_violations_on_merge_request_id ON scan_result_policy_violations USING btree (merge_request_id); CREATE UNIQUE INDEX index_scan_result_policy_violations_on_policy_and_merge_request ON scan_result_policy_violations USING btree (scan_result_policy_id, merge_request_id); @@ -28620,6 +28628,8 @@ CREATE INDEX index_snippets_on_updated_at ON snippets USING btree (updated_at); CREATE INDEX index_snippets_on_visibility_level_and_secret ON snippets USING btree (visibility_level, secret); +CREATE INDEX index_software_license_policies_on_approval_policy_rule_id ON software_license_policies USING btree (approval_policy_rule_id); + CREATE INDEX index_software_license_policies_on_scan_result_policy_id ON software_license_policies USING btree (scan_result_policy_id); CREATE INDEX index_software_license_policies_on_software_license_id ON software_license_policies USING btree (software_license_id); @@ -31515,6 +31525,9 @@ ALTER TABLE ONLY resource_link_events ALTER TABLE ONLY ml_candidates ADD CONSTRAINT fk_2a0421d824 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; +ALTER TABLE ONLY approval_group_rules + ADD CONSTRAINT fk_2a74c6e52d FOREIGN KEY (approval_policy_rule_id) REFERENCES approval_policy_rules(id) ON DELETE CASCADE; + ALTER TABLE ONLY agent_group_authorizations ADD CONSTRAINT fk_2c9f941965 FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE; @@ -31614,6 +31627,9 @@ ALTER TABLE ONLY bulk_import_export_uploads ALTER TABLE ONLY ci_pipelines ADD CONSTRAINT fk_3d34ab2e06 FOREIGN KEY (pipeline_schedule_id) REFERENCES ci_pipeline_schedules(id) ON DELETE SET NULL; +ALTER TABLE ONLY scan_result_policy_violations + ADD CONSTRAINT fk_3d58aa6aee FOREIGN KEY (approval_policy_rule_id) REFERENCES approval_policy_rules(id) ON DELETE CASCADE; + ALTER TABLE ONLY wiki_page_slugs ADD CONSTRAINT fk_3d71295ac9 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; @@ -31857,6 +31873,9 @@ ALTER TABLE ONLY subscription_user_add_on_assignments ALTER TABLE ONLY vulnerabilities ADD CONSTRAINT fk_725465b774 FOREIGN KEY (dismissed_by_id) REFERENCES users(id) ON DELETE SET NULL; +ALTER TABLE ONLY approval_merge_request_rules + ADD CONSTRAINT fk_73fec3d7e5 FOREIGN KEY (approval_policy_rule_id) REFERENCES approval_policy_rules(id) ON DELETE CASCADE; + ALTER TABLE ONLY index_statuses ADD CONSTRAINT fk_74b2492545 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; @@ -31884,6 +31903,9 @@ ALTER TABLE ONLY oauth_openid_requests ALTER TABLE ONLY scan_result_policy_violations ADD CONSTRAINT fk_77251168f1 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; +ALTER TABLE ONLY approval_project_rules + ADD CONSTRAINT fk_773289d10b FOREIGN KEY (approval_policy_rule_id) REFERENCES approval_policy_rules(id) ON DELETE CASCADE; + ALTER TABLE ONLY agent_user_access_project_authorizations ADD CONSTRAINT fk_78034b05d8 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; @@ -32448,6 +32470,9 @@ ALTER TABLE ONLY boards_epic_board_positions ALTER TABLE ONLY workspaces ADD CONSTRAINT fk_dc7c316be1 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; +ALTER TABLE ONLY software_license_policies + ADD CONSTRAINT fk_dca6a58d53 FOREIGN KEY (approval_policy_rule_id) REFERENCES approval_policy_rules(id) ON DELETE CASCADE; + ALTER TABLE ONLY epics ADD CONSTRAINT fk_dccd3f98fc FOREIGN KEY (assignee_id) REFERENCES users(id) ON DELETE SET NULL;