Skip to content

Cells: Iteration 2: Introduce `gitlab_main_cell` gitlab schema

Problem

Introduce gitlab_main_cell schema that inherits from gitlab_main. Make code to:

  • make the gitlab_main_clusterwide and gitlab_main_cell to inherit all from gitlab_main
  • trigger violations (cross-join, cross-DB) only between gitlab_main_clusterwide and gitlab_main_cell
  • do not trigger violations between gitlab_main and gitlab_main_cell or gitlab_main and gitlab_main_clusterwide

Purpose

  • at some point none of tables use gitlab_main, only gitlab_main_clusterwide or gitlab_main_cell
  • the gitlab_main_cell will use main database, and use ApplicationRecord model
  • the gitlab_main_clusterwide will continue using MainClusterwide::ApplicationRecord

Addition

  • It would help to find a very simple table that could be put into gitlab_main_cell that does not have any other joins to allow us to test gitlab_main_cell. We would put namespaces later into gitlab_main_cell, but this is too much at this moment.

References

Edited by Kamil Trzciński