Skip to content

Remove `user_details.provisioned_by_group_at` column

What does this MR do and why?

We added this column recently !112083 (merged) for implementation that we have been working on and only plan to apply in production. As per #406266 (closed) we decided to use another column instead of user_details.provisioned_by_group_at.

As per the guide https://docs.gitlab.com/ee/development/database/avoiding_downtime_in_migrations.html#dropping-columns

in release 16.1 we ignored this column !123646 (merged)

In release 16.2 we can drop this column

Related to #412437 (closed)

How to set up and validate locally

DB migrations validation

bin/rails db:migrate RAILS_ENV=test
main: == [advisory_lock_connection] object_id: 219500, pg_backend_pid: 134044
main: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: migrating ======
main: -- remove_column(:user_details, :provisioned_by_group_at, :datetime_with_timezone)
main:    -> 0.0020s
main: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: migrated (0.0076s)

main: == [advisory_lock_connection] object_id: 219500, pg_backend_pid: 134044
ci: == [advisory_lock_connection] object_id: 219660, pg_backend_pid: 134046
ci: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: migrating ======
ci: -- remove_column(:user_details, :provisioned_by_group_at, :datetime_with_timezone)
ci:    -> 0.0013s
ci: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: migrated (0.0120s)

ci: == [advisory_lock_connection] object_id: 219660, pg_backend_pid: 134046
bin/rails db:rollback:main RAILS_ENV=test
main: == [advisory_lock_connection] object_id: 219460, pg_backend_pid: 134558
main: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: reverting ======
main: -- add_column(:user_details, :provisioned_by_group_at, :datetime_with_timezone)
main:    -> 0.0020s
main: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: reverted (0.0080s)

main: == [advisory_lock_connection] object_id: 219460, pg_backend_pid: 134558
bin/rails db:rollback:ci RAILS_ENV=test
ci: == [advisory_lock_connection] object_id: 219020, pg_backend_pid: 134921
ci: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: reverting ======
ci: -- add_column(:user_details, :provisioned_by_group_at, :datetime_with_timezone)
ci:    -> 0.0032s
ci: == 20230705115215 RemoveUserDetailsProvisionedByGroupAtColumn: reverted (0.0242s)

ci: == [advisory_lock_connection] object_id: 219020, pg_backend_pid: 134921

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 Bogdan Denkovych

Merge request reports