Extend (un)prepare_async_index helpers to support partitioned tables
Summary
Currently prepare_async_index
is used to create concurrent indices asynchronously (for large tables) over the weekends, it would be nice to extend this helper method to handle creating indices asynchronously on partitioned tables as well.
Improvements
With this developers don't have to handle the details in their migration - eg: db/post_migrate/20230104150601_prepare_builds_metadata_async_idx.rb. Instead the logic can be pulled inside the prepare_async_index method.
Involved components
- Gitlab::Database::AsyncIndexes::MigrationHelpers
- preparing and unpreparing async indices.
- Specs for them
- Updating Docs
Edited by Prabakaran Murugesan