Skip to content

Add member_role_id to ldap_group_links

Hinam Mehra requested to merge 435229-add-member-role-id-migration into master

What does this MR do and why?

  • Add member_role_id to ldap_group_links so a custom role can be assigned to members synced from an LDAP group
  • It will be used in !155680

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.

Database

Output of db:migrate
2024-06-11T09:36:52.564905Z 01O main: == [advisory_lock_connection] object_id: 31652680, pg_backend_pid: 7861
2024-06-11T09:36:52.569516Z 01O main: == 20240607035355 AddMemberRoleIdToLdapGroupLinks: migrating ==================
2024-06-11T09:36:52.573096Z 01O main: -- add_column(:ldap_group_links, :member_role_id, :bigint)
2024-06-11T09:36:52.574201Z 01O main:    -> 0.0011s
2024-06-11T09:36:52.576502Z 01O main: == 20240607035355 AddMemberRoleIdToLdapGroupLinks: migrated (0.0069s) =========
2024-06-11T09:36:52.576509Z 01O 
2024-06-11T09:36:52.582117Z 01O main: == [advisory_lock_connection] object_id: 31652680, pg_backend_pid: 7861

2024-06-11T09:36:52.834003Z 01O main: == 20240607041020 AddFkToMemberRoleOnLdapGroupLinks: migrating ================
2024-06-11T09:36:52.838131Z 01O main: -- transaction_open?(nil)
2024-06-11T09:36:52.838138Z 01O main:    -> 0.0000s
2024-06-11T09:36:52.857734Z 01O main: -- transaction_open?(nil)
2024-06-11T09:36:52.857742Z 01O main:    -> 0.0000s
2024-06-11T09:36:52.859096Z 01O main: -- execute("ALTER TABLE ldap_group_links ADD CONSTRAINT fk_14a86de4b3 FOREIGN KEY (member_role_id) REFERENCES member_roles (id) ON DELETE SET NULL NOT VALID;")
2024-06-11T09:36:52.860747Z 01O main:    -> 0.0017s
2024-06-11T09:36:52.862443Z 01O main: -- execute("SET statement_timeout TO 0")
2024-06-11T09:36:52.862941Z 01O main:    -> 0.0004s
2024-06-11T09:36:52.862943Z 01O main: -- execute("ALTER TABLE ldap_group_links VALIDATE CONSTRAINT fk_14a86de4b3;")
2024-06-11T09:36:52.864725Z 01O main:    -> 0.0017s
2024-06-11T09:36:52.864729Z 01O main: -- execute("RESET statement_timeout")
2024-06-11T09:36:52.865442Z 01O main:    -> 0.0005s
2024-06-11T09:36:52.867808Z 01O main: == 20240607041020 AddFkToMemberRoleOnLdapGroupLinks: migrated (0.0336s) =======

2024-06-11T09:36:54.400269Z 01O main: == 20240611091436 AddIndexToLdapGroupLinksOnMemberRoleId: migrating ===========
2024-06-11T09:36:54.403531Z 01O main: -- transaction_open?(nil)
2024-06-11T09:36:54.403540Z 01O main:    -> 0.0000s
2024-06-11T09:36:54.403582Z 01O main: -- view_exists?(:postgres_partitions)
2024-06-11T09:36:54.404719Z 01O main:    -> 0.0011s
2024-06-11T09:36:54.409191Z 01O main: -- index_exists?(:ldap_group_links, :member_role_id, {:name=>"index_ldap_group_links_on_member_role_id", :algorithm=>:concurrently})
2024-06-11T09:36:54.411551Z 01O main:    -> 0.0024s
2024-06-11T09:36:54.412178Z 01O main: -- execute("SET statement_timeout TO 0")
2024-06-11T09:36:54.412800Z 01O main:    -> 0.0005s
2024-06-11T09:36:54.412817Z 01O main: -- add_index(:ldap_group_links, :member_role_id, {:name=>"index_ldap_group_links_on_member_role_id", :algorithm=>:concurrently})
2024-06-11T09:36:54.414519Z 01O main:    -> 0.0018s
2024-06-11T09:36:54.414528Z 01O main: -- execute("RESET statement_timeout")
2024-06-11T09:36:54.414979Z 01O main:    -> 0.0004s
2024-06-11T09:36:54.419874Z 01O main: == 20240611091436 AddIndexToLdapGroupLinksOnMemberRoleId: migrated (0.0196s) ==
Output of db:rollback
2024-06-11T09:28:42.833255Z 01O main: == 20240611091436 AddIndexToLdapGroupLinksOnMemberRoleId: reverting ===========
2024-06-11T09:28:42.833257Z 01O main: -- transaction_open?(nil)
2024-06-11T09:28:42.833257Z 01O main:    -> 0.0000s
2024-06-11T09:28:42.833258Z 01O main: -- view_exists?(:postgres_partitions)
2024-06-11T09:28:42.833259Z 01O main:    -> 0.0203s
2024-06-11T09:28:42.833259Z 01O main: -- indexes(:ldap_group_links)
2024-06-11T09:28:42.833260Z 01O main:    -> 0.0046s
2024-06-11T09:28:42.833260Z 01O main: -- execute("SET statement_timeout TO 0")
2024-06-11T09:28:42.833261Z 01O main:    -> 0.0007s
2024-06-11T09:28:42.833262Z 01O main: -- remove_index(:ldap_group_links, {:algorithm=>:concurrently, :name=>"index_ldap_group_links_on_member_role_id"})
2024-06-11T09:28:42.833263Z 01O main:    -> 0.0018s
2024-06-11T09:28:42.833263Z 01O main: -- execute("RESET statement_timeout")
2024-06-11T09:28:42.833264Z 01O main:    -> 0.0008s
2024-06-11T09:28:42.833264Z 01O main: == 20240611091436 AddIndexToLdapGroupLinksOnMemberRoleId: reverted (0.0544s) ==

2024-06-11T09:29:32.408865Z 01O main: == 20240607041020 AddFkToMemberRoleOnLdapGroupLinks: reverting ================
2024-06-11T09:29:32.408866Z 01O main: -- transaction_open?(nil)
2024-06-11T09:29:32.408867Z 01O main:    -> 0.0000s
2024-06-11T09:29:32.408867Z 01O main: -- remove_foreign_key(:ldap_group_links, {:column=>:member_role_id})
2024-06-11T09:29:32.408868Z 01O main:    -> 0.0113s
2024-06-11T09:29:32.408869Z 01O main: == 20240607041020 AddFkToMemberRoleOnLdapGroupLinks: reverted (0.0332s) =======

2024-06-11T09:30:22.141648Z 01O main: == 20240607035355 AddMemberRoleIdToLdapGroupLinks: reverting ==================
2024-06-11T09:30:22.141649Z 01O main: -- remove_column(:ldap_group_links, :member_role_id, :bigint)
2024-06-11T09:30:22.141650Z 01O main:    -> 0.0018s
2024-06-11T09:30:22.141651Z 01O main: == 20240607035355 AddMemberRoleIdToLdapGroupLinks: reverted (0.0116s) =========

Related to #435229

Edited by Hinam Mehra

Merge request reports