Remove software_license_id from software_license_policies

What does this MR do and why?

This MR removes the software_license_id from the software_license_policies table. This column was ignored in the previous milestone in MR !189535 (merged).

Migration up

db:migrate:up:main VERSION=20250731191714
main: == [advisory_lock_connection] object_id: 147140, pg_backend_pid: 86135
main: == 20250731191714 RemoveSoftwareLicensePoliciesSoftwareLicenseIdColumn: migrating 
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- remove_column(:software_license_policies, :software_license_id)
main:    -> 0.0043s
main: == 20250731191714 RemoveSoftwareLicensePoliciesSoftwareLicenseIdColumn: migrated (0.0662s) 

main: == [advisory_lock_connection] object_id: 147140, pg_backend_pid: 86135

Migration down

db:migrate:down:main VERSION=20250731191714
main: == [advisory_lock_connection] object_id: 147360, pg_backend_pid: 85330
main: == 20250731191714 RemoveSoftwareLicensePoliciesSoftwareLicenseIdColumn: reverting 
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- add_column(:software_license_policies, :software_license_id, :bigint, {:null=>true, :if_not_exists=>true})
main:    -> 0.0360s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE software_license_policies ADD CONSTRAINT fk_7a7a2a92de FOREIGN KEY (software_license_id) REFERENCES software_licenses (id) ON DELETE CASCADE NOT VALID;")
main:    -> 0.0024s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0005s
main: -- execute("ALTER TABLE software_license_policies VALIDATE CONSTRAINT fk_7a7a2a92de;")
main:    -> 0.0328s
main: -- execute("RESET statement_timeout")
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0009s
main: -- index_exists?(:software_license_policies, [:project_id, :software_license_id, :scan_result_policy_id], {:name=>"idx_software_license_policies_unique_on_project_and_scan_policy", :unique=>true, :algorithm=>:concurrently})
main:    -> 0.0029s
main: -- add_index(:software_license_policies, [:project_id, :software_license_id, :scan_result_policy_id], {:name=>"idx_software_license_policies_unique_on_project_and_scan_policy", :unique=>true, :algorithm=>:concurrently})
main:    -> 0.0048s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0011s
main: -- index_exists?(:software_license_policies, :software_license_id, {:name=>"index_software_license_policies_on_software_license_id", :algorithm=>:concurrently})
main:    -> 0.0019s
main: -- add_index(:software_license_policies, :software_license_id, {:name=>"index_software_license_policies_on_software_license_id", :algorithm=>:concurrently})
main:    -> 0.0014s
main: == 20250731191714 RemoveSoftwareLicensePoliciesSoftwareLicenseIdColumn: reverted (0.1841s) 

main: == [advisory_lock_connection] object_id: 147360, pg_backend_pid: 85330

References

Related to Remove software_licenses table

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

Merge request reports

Loading