Add sharding keys to web_hook_logs_daily

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

We should do this after &16133 (closed):

I think we should do this afterwards to avoid overlapping the work with the daily partitions.

- Max Orefice in parent Epic

Implementation Plan

  • Add an organization_id project_id and group_id to the web_hook_logs records.
  • Create a post migration (only for self managed) to backfill old web_hook_logs with a sharding key.
    • We should not backfill this data (on .com), as the table is too big to do this. Since the table is partitioned and old partitions get deleted eventually, we can just wait until partitions without a sharding key set get dropped.
  • Create a multi column not null check for new partitions only (so old partitions don't need to be backfilled).
  • Set the new columns as the sharding keys.
Edited by 🤖 GitLab Bot 🤖