Add service_desk_enabled to service_desk_settings
What does this MR do and why?
Add service_desk_enabled
column to service_desk_settings
table
Implements #412669 (closed)
Contributes to #36126
The new column is needed to migrate from projects.service_desk_enabled
to service_desk_settings.service_desk_enabled
.
There are two indexes at the moment related to projects.service_desk_enabled
:
CREATE INDEX index_projects_on_id_service_desk_enabled ON projects USING btree (id) WHERE (service_desk_enabled = true);
CREATE INDEX index_service_desk_enabled_projects_on_id_creator_id_created_at ON projects USING btree (id, creator_id, created_at) WHERE (service_desk_enabled = true);
I think we'll review them and add similar indexes in one of the next steps (most likely on #412673), when it would be clear what queries we'll have.
Migration log
db:migrate
→ be rails db:migrate
main: == [advisory_lock_connection] object_id: 279040, pg_backend_pid: 90495
main: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: migrating =======
main: -- add_column(:service_desk_settings, :service_desk_enabled, :boolean, {:null=>false, :default=>true})
main: -> 0.0039s
main: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: migrated (0.0073s)
main: == [advisory_lock_connection] object_id: 279040, pg_backend_pid: 90495
ci: == [advisory_lock_connection] object_id: 279280, pg_backend_pid: 90500
ci: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: migrating =======
ci: -- add_column(:service_desk_settings, :service_desk_enabled, :boolean, {:null=>false, :default=>true})
ci: -> 0.0028s
ci: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: migrated (0.0102s)
ci: == [advisory_lock_connection] object_id: 279280, pg_backend_pid: 90500
db:rollback
→ be rails db:rollback:main
main: == [advisory_lock_connection] object_id: 278860, pg_backend_pid: 91152
main: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: reverting =======
main: -- remove_column(:service_desk_settings, :service_desk_enabled, :boolean, {:null=>false, :default=>true})
main: -> 0.0031s
main: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: reverted (0.0094s)
main: == [advisory_lock_connection] object_id: 278860, pg_backend_pid: 91152
→ be rails db:rollback:ci
ci: == [advisory_lock_connection] object_id: 278800, pg_backend_pid: 91596
ci: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: reverting =======
ci: -- remove_column(:service_desk_settings, :service_desk_enabled, :boolean, {:null=>false, :default=>true})
ci: -> 0.0019s
ci: == 20230525064706 AddServiceDeskEnabledToServiceDeskSettings: reverted (0.0109s)
ci: == [advisory_lock_connection] object_id: 278800, pg_backend_pid: 91596
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.