Skip to content

Create ci_runners_taggings partitioned table

To partition and shard the taggings table we need to create tables for each polymorphic relation. For its relation with ci_runners we must create a new table ci_runners_taggings to encapsulate the many to many relation between tags and runners.

ci_runners_taggings should have these columns:

  • id bigint
  • tag_id bigint, FK to tags
  • runner_id bigint, FK to ci_runners
  • sharding key

An unique index on (tag_id, runner_id) to ensure that tags are unique per runner.