Skip to content

[DB] Add group MR approval setting for SAML based approvals

What does this MR do and why?

Add group merge request approval setting for SAML

  • does_approval_require_saml_auth is being added to group_merge_request_approval_settings to control the future feature of requiring SAML approval for merge request approvals.

  • Refs: #421944 (closed)

Screenshots or screen recordings

Migrate:

╰─% bundle exec rake db:migrate                                                                                                                                                                                                                                                                                                                                           07:41:42|neo|3.1.4
main: == [advisory_lock_connection] object_id: 244140, pg_backend_pid: 80712
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrating
main: -- add_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
main:    -> 0.0029s
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrated (0.0059s)

main: == [advisory_lock_connection] object_id: 244140, pg_backend_pid: 80712
ci: == [advisory_lock_connection] object_id: 244400, pg_backend_pid: 80714
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrating
ci: -- add_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
ci:    -> 0.0027s
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrated (0.0094s)

ci: == [advisory_lock_connection] object_id: 244400, pg_backend_pid: 80714

Rollback and ("re-")migrate:

bundle exec rake db:migrate  11.79s user 8.55s system 74% cpu 27.178 total
╭─±|sf/feature/GL421944-add-group-setting-for-saml-mr-approval ✘ ooh that's dirty.|⇪ AHEAD⇪ (bb2e19914c48)  gitlab [/Users/neo/gitlab-development-kit/gitlab]
╰─% VERSION=20230821081508 rake db:migrate:down:main && VERSION=20230821081508 rake db:migrate:down:ci                                                                                                                                                                                                                                                                    07:42:20|neo|3.1.4
main: == [advisory_lock_connection] object_id: 224920, pg_backend_pid: 81245
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: reverting
main: -- remove_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
main:    -> 0.0016s
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: reverted (0.0064s)

main: == [advisory_lock_connection] object_id: 224920, pg_backend_pid: 81245
  7.81s user 6.89s system 71% cpu 20.560 total
ci: == [advisory_lock_connection] object_id: 265500, pg_backend_pid: 82051
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: reverting
ci: -- remove_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
ci:    -> 0.0016s
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: reverted (0.0117s)

ci: == [advisory_lock_connection] object_id: 265500, pg_backend_pid: 82051
  7.89s user 6.92s system 73% cpu 20.152 total
╭─±|sf/feature/GL421944-add-group-setting-for-saml-mr-approval ✘ ooh that's dirty.|⇪ AHEAD⇪ (bb2e19914c48)  gitlab [/Users/neo/gitlab-development-kit/gitlab]
╰─% bundle exec rake db:migrate                                                                                                                                                                                                                                                                                                                                           07:43:10|neo|3.1.4
main: == [advisory_lock_connection] object_id: 244020, pg_backend_pid: 82557
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrating
main: -- add_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
main:    -> 0.0028s
main: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrated (0.0065s)

main: == [advisory_lock_connection] object_id: 244020, pg_backend_pid: 82557
ci: == [advisory_lock_connection] object_id: 244280, pg_backend_pid: 82559
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrating
ci: -- add_column(:group_merge_request_approval_settings, :require_saml_auth_to_approve, :boolean, {:default=>false, :null=>false})
ci:    -> 0.0011s
ci: == 20230821081508 AddMrRequiresSamlAuthForApprovalToGroupMrApprovalSettings: migrated (0.0091s)

ci: == [advisory_lock_connection] object_id: 244280, pg_backend_pid: 82559

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. In console run with
    bundle exec rake db:migrate

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sam Figueroa

Merge request reports