Add security_policy_dismissals table
What does this MR do and why?
Add security_policy_dismissals table
This MR adds a new database table security_policy_dismissals to store the relation between security policies and dismissed findings.
Migrations
CreateSecurityPolicyDismissals
up
main: == 20250821205145 CreateSecurityPolicyDismissals: migrating ===================
main: -- create_table(:security_policy_dismissals)
main: -> 0.0412s
main: == 20250821205145 CreateSecurityPolicyDismissals: migrated (0.0464s) ==========
down
main: == [advisory_lock_connection] object_id: 148240, pg_backend_pid: 70131
main: == 20250821205145 CreateSecurityPolicyDismissals: reverting ===================
main: -- drop_table(:security_policy_dismissals)
main: -> 0.0256s
main: == 20250821205145 CreateSecurityPolicyDismissals: reverted (0.0307s) ==========
AddMergeRequestForeignKeyToSecurityPolicyDismissals
up
main: == 20250821210738 AddMergeRequestForeignKeyToSecurityPolicyDismissals: migrating
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE security_policy_dismissals ADD CONSTRAINT fk_bc10da1827 FOREIGN KEY (merge_request_id) REFERENCES merge_requests (id) ON DELETE CASCADE NOT VALID;")
main: -> 0.0027s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0003s
main: -- execute("ALTER TABLE security_policy_dismissals VALIDATE CONSTRAINT fk_bc10da1827;")
main: -> 0.0034s
main: -- execute("RESET statement_timeout")
main: -> 0.0006s
main: == 20250821210738 AddMergeRequestForeignKeyToSecurityPolicyDismissals: migrated (0.0315s)
down
main: == [advisory_lock_connection] object_id: 148240, pg_backend_pid: 11467
main: == 20250821210738 AddMergeRequestForeignKeyToSecurityPolicyDismissals: reverting
main: -- remove_foreign_key(:security_policy_dismissals, {:column=>:merge_request_id})
main: -> 0.0032s
main: == 20250821210738 AddMergeRequestForeignKeyToSecurityPolicyDismissals: reverted (0.0442s)
AddSecurityPolicyForeignKeyToSecurityPolicyDismissals
up
main: == 20250821211206 AddSecurityPolicyForeignKeyToSecurityPolicyDismissals: migrating
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE security_policy_dismissals ADD CONSTRAINT fk_c2379f1e97 FOREIGN KEY (security_policy_id) REFERENCES security_policies (id) ON DELETE CASCADE NOT VALID;")
main: -> 0.0012s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0004s
main: -- execute("ALTER TABLE security_policy_dismissals VALIDATE CONSTRAINT fk_c2379f1e97;")
main: -> 0.0019s
main: -- execute("RESET statement_timeout")
main: -> 0.0004s
main: == 20250821211206 AddSecurityPolicyForeignKeyToSecurityPolicyDismissals: migrated (0.0264s)
down
main: == [advisory_lock_connection] object_id: 148240, pg_backend_pid: 9013
main: == 20250821211206 AddSecurityPolicyForeignKeyToSecurityPolicyDismissals: reverting
main: -- remove_foreign_key(:security_policy_dismissals, {:column=>:security_policy_id})
main: -> 0.0031s
main: == 20250821211206 AddSecurityPolicyForeignKeyToSecurityPolicyDismissals: reverted (0.0438s)
AddUserForeignKeyToSecurityPolicyDismissals
up
main: == 20250821211452 AddUserForeignKeyToSecurityPolicyDismissals: migrating ======
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE security_policy_dismissals ADD CONSTRAINT fk_c7cfc32196 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE SET NULL NOT VALID;")
main: -> 0.0118s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0023s
main: -- execute("ALTER TABLE security_policy_dismissals VALIDATE CONSTRAINT fk_c7cfc32196;")
main: -> 0.0203s
main: -- execute("RESET statement_timeout")
main: -> 0.0032s
main: == 20250821211452 AddUserForeignKeyToSecurityPolicyDismissals: migrated (0.2391s)
down
main: == [advisory_lock_connection] object_id: 148860, pg_backend_pid: 95437
main: == 20250821211452 AddUserForeignKeyToSecurityPolicyDismissals: reverting ======
main: -- remove_foreign_key(:security_policy_dismissals, {:column=>:user_id})
main: -> 0.0058s
main: == 20250821211452 AddUserForeignKeyToSecurityPolicyDismissals: reverted (0.0750s)
AddProjectForeignKeyToSecurityPolicyDismissals
up
main: == 20250822200745 AddProjectForeignKeyToSecurityPolicyDismissals: migrating ===
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE security_policy_dismissals ADD CONSTRAINT fk_2f3a252c44 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
main: -> 0.0017s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0003s
main: -- execute("ALTER TABLE security_policy_dismissals VALIDATE CONSTRAINT fk_2f3a252c44;")
main: -> 0.0035s
main: -- execute("RESET statement_timeout")
main: -> 0.0005s
main: == 20250822200745 AddProjectForeignKeyToSecurityPolicyDismissals: migrated (0.0249s)
down
main: == [advisory_lock_connection] object_id: 148240, pg_backend_pid: 92568
main: == 20250822200745 AddProjectForeignKeyToSecurityPolicyDismissals: reverting ===
main: -- remove_foreign_key(:security_policy_dismissals, {:column=>:project_id})
main: -> 0.0032s
main: == 20250822200745 AddProjectForeignKeyToSecurityPolicyDismissals: reverted (0.0504s)
References
Related to #561886 (closed)
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Marcos Rocha