[go: up one dir, main page]

Add v2 approval rule associations to user and user group

What does this MR do and why?

Adds new approval rule associations to user and user group for new approval rule architecture.

Migration output

20250123151841 CreateMergeRequestsApprovalRulesUserGroups: migrating =======
create_table(:merge_requests_approval_rules_user_groups)
-> 0.0081s
add_index(:merge_requests_approval_rules_user_groups, [:approval_rule_id, :group_id], {:unique=>true, :name=>"index_mrs_ars_user_groups_on_ar_id_and_group_id"})
-> 0.0010s
20250123151841 CreateMergeRequestsApprovalRulesUserGroups: migrated (0.0486s)
[advisory_lock_connection] object_id: 131680, pg_backend_pid: 26523
[advisory_lock_connection] object_id: 132280, pg_backend_pid: 26528

20250123151859 CreateMergeRequestsApprovalRulesUsers: migrating ============
create_table(:merge_requests_approval_rules_users)
-> 0.0094s
add_index(:merge_requests_approval_rules_users, [:approval_rule_id, :user_id], {:unique=>true, :name=>"index_mrs_ars_users_on_ar_id_and_user_id"})
-> 0.0014s
20250123151859 CreateMergeRequestsApprovalRulesUsers: migrated (0.0150s) ===
[advisory_lock_connection] object_id: 132280, pg_backend_pid: 26528
[advisory_lock_connection] object_id: 132700, pg_backend_pid: 26533

20250214133158 AddMergeRequestsApprovalRulesUserGroupsApprovalRuleFk: migrating
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_user_groups ADD CONSTRAINT fk_62b95a2502 FOREIGN KEY (approval_rule_id) REFERENCES merge_requests_approval_rules (id) ON DELETE CASCADE NOT
-> 0.0013s
execute("SET statement_timeout TO 0")
-> 0.0004s
execute("ALTER TABLE merge_requests_approval_rules_user_groups VALIDATE CONSTRAINT fk_62b95a2502;")
-> 0.0020s
execute("RESET statement_timeout")
-> 0.0004s
20250214133158 AddMergeRequestsApprovalRulesUserGroupsApprovalRuleFk: migrated (0.0316s)
[advisory_lock_connection] object_id: 132700, pg_backend_pid: 26533
[advisory_lock_connection] object_id: 133200, pg_backend_pid: 26538

20250214133235 AddMergeRequestsApprovalRulesUserGroupsGroupFk: migrating ===
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_user_groups ADD CONSTRAINT fk_e1e7c6423f FOREIGN KEY (group_id) REFERENCES namespaces (id) ON DELETE CASCADE NOT VALID;")
-> 0.0016s
execute("SET statement_timeout TO 0")
-> 0.0005s
execute("ALTER TABLE merge_requests_approval_rules_user_groups VALIDATE CONSTRAINT fk_e1e7c6423f;")
-> 0.0064s
execute("RESET statement_timeout")
-> 0.0005s
20250214133235 AddMergeRequestsApprovalRulesUserGroupsGroupFk: migrated (0.0302s)
[advisory_lock_connection] object_id: 133200, pg_backend_pid: 26538
[advisory_lock_connection] object_id: 133680, pg_backend_pid: 26543

20250214134117 AddMergeRequestsApprovalRulesUsersUserFk: migrating =========
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_users ADD CONSTRAINT fk_b12b222020 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE NOT VALID;")
-> 0.0016s
execute("SET statement_timeout TO 0")
-> 0.0004s
execute("ALTER TABLE merge_requests_approval_rules_users VALIDATE CONSTRAINT fk_b12b222020;")
-> 0.0065s
execute("RESET statement_timeout")
-> 0.0004s
20250214134117 AddMergeRequestsApprovalRulesUsersUserFk: migrated (0.0309s)
[advisory_lock_connection] object_id: 133680, pg_backend_pid: 26543
[advisory_lock_connection] object_id: 134160, pg_backend_pid: 26549

20250214134138 AddMergeRequestsApprovalRulesUsersProjectFk: migrating ======
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_users ADD CONSTRAINT fk_709cb411cb FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
-> 0.0018s
execute("SET statement_timeout TO 0")
-> 0.0006s
execute("ALTER TABLE merge_requests_approval_rules_users VALIDATE CONSTRAINT fk_709cb411cb;")
-> 0.0096s
execute("RESET statement_timeout")
-> 0.0005s
20250214134138 AddMergeRequestsApprovalRulesUsersProjectFk: migrated (0.0367s)
[advisory_lock_connection] object_id: 134160, pg_backend_pid: 26549
[advisory_lock_connection] object_id: 134640, pg_backend_pid: 26554

20250214134202 AddMergeRequestsApprovalRulesUsersApprovalRuleFk: migrating =
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_users ADD CONSTRAINT fk_d1c23df23f FOREIGN KEY (approval_rule_id) REFERENCES merge_requests_approval_rules (id) ON DELETE CASCADE NOT VALID;")
-> 0.0014s
execute("SET statement_timeout TO 0")
-> 0.0004s
execute("ALTER TABLE merge_requests_approval_rules_users VALIDATE CONSTRAINT fk_d1c23df23f;")
-> 0.0013s
execute("RESET statement_timeout")
-> 0.0004s
20250214134202 AddMergeRequestsApprovalRulesUsersApprovalRuleFk: migrated (0.0263s)
[advisory_lock_connection] object_id: 134640, pg_backend_pid: 26554
[advisory_lock_connection] object_id: 135120, pg_backend_pid: 26559

20250225112059 AddMergeRequestsApprovalRulesUsersGroupFk: migrating ========
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_users ADD CONSTRAINT fk_8fd456df22 FOREIGN KEY (group_id) REFERENCES namespaces (id) ON DELETE CASCADE NOT VALID;")
-> 0.0017s
execute("SET statement_timeout TO 0")
-> 0.0004s
execute("ALTER TABLE merge_requests_approval_rules_users VALIDATE CONSTRAINT fk_8fd456df22;")
-> 0.0027s
execute("RESET statement_timeout")
-> 0.0006s
20250225112059 AddMergeRequestsApprovalRulesUsersGroupFk: migrated (0.0284s)
[advisory_lock_connection] object_id: 135120, pg_backend_pid: 26559
[advisory_lock_connection] object_id: 135600, pg_backend_pid: 26564

20250225112409 AddMergeRequestsApprovalRulesUsersMultiColumnNotNullConstraint: migrating
transaction_open?(nil)
-> 0.0000s
transaction_open?(nil)
-> 0.0000s
execute("ALTER TABLE merge_requests_approval_rules_users\nADD CONSTRAINT check_cac54cf7e3\nCHECK ( num_nonnulls(group_id, project_id) = 1 )\nNOT VALID;\n")
-> 0.0011s
execute("SET statement_timeout TO 0")
-> 0.0004s
execute("ALTER TABLE merge_requests_approval_rules_users VALIDATE CONSTRAINT check_cac54cf7e3;")
-> 0.0007s
execute("RESET statement_timeout")
-> 0.0005s
20250225112409 AddMergeRequestsApprovalRulesUsersMultiColumnNotNullConstraint: migrated (0.0133s)
[advisory_lock_connection] object_id: 135600, pg_backend_pid: 26564

References

Issue: https://gitlab.com/groups/gitlab-org/-/issues/512606+
Epic: Rearchitecting Approval Rules (&12955)
POC: Draft: [ci skip][DO NOT MERGE][PoC] Start of Po... (!171114 - closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #519342 (closed)

Edited by Gavin Hinfey

Merge request reports

Loading