Skip to content

Add security policies projects join table

Sashi Kumar Kumaresan requested to merge sk/416260-add-join-table into master

What does this MR do and why?

This MR adds a join table between projects & security_policies for efficient lookup of policies associated to a project.

Migration output


main: == [advisory_lock_connection] object_id: 128880, pg_backend_pid: 85709
main: == 20240529063801 CreateSecurityPolicyProjectLinks: migrating =================
main: -- create_table(:security_policy_project_links)
main:    -> 0.0347s
main: == 20240529063801 CreateSecurityPolicyProjectLinks: migrated (0.1270s) ========
main: == [advisory_lock_connection] object_id: 128880, pg_backend_pid: 85709


main: == [advisory_lock_connection] object_id: 129380, pg_backend_pid: 85715
main: == 20240529103617 AddProjectIdFkToSecurityPolicyProjectLinks: migrating =======
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE security_policy_project_links ADD CONSTRAINT fk_0eba4d5d71 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
main:    -> 0.0024s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0018s
main: -- execute("ALTER TABLE security_policy_project_links VALIDATE CONSTRAINT fk_0eba4d5d71;")
main:    -> 0.0075s
main: -- execute("RESET statement_timeout")
main:    -> 0.0023s
main: == 20240529103617 AddProjectIdFkToSecurityPolicyProjectLinks: migrated (0.0622s) 
main: == [advisory_lock_connection] object_id: 129380, pg_backend_pid: 85715


main: == [advisory_lock_connection] object_id: 139500, pg_backend_pid: 85722
main: == 20240529103950 AddSecurityPolicyIdFkToSecurityPolicyProjectLinks: migrating 
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE security_policy_project_links ADD CONSTRAINT fk_5a5eba6f88 FOREIGN KEY (security_policy_id) REFERENCES security_policies (id) ON DELETE CASCADE NOT VALID;")
main:    -> 0.0018s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- execute("ALTER TABLE security_policy_project_links VALIDATE CONSTRAINT fk_5a5eba6f88;")
main:    -> 0.0009s
main: -- execute("RESET statement_timeout")
main:    -> 0.0006s
main: == 20240529103950 AddSecurityPolicyIdFkToSecurityPolicyProjectLinks: migrated (0.0272s) 
main: == [advisory_lock_connection] object_id: 139500, pg_backend_pid: 85722

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.

Addresses #416260 (closed)

Edited by Sashi Kumar Kumaresan

Merge request reports