Skip to content

Introduce project_settings table

Toon Claes requested to merge tc-create-project-settings into master

What does this MR do?

There is no usable data in this table yet, but with this change the table is created, it's backfilled for every existing project, and new rows are created as new projects are created. When the background migration is complete it should be fairly easy to add columns to this table and store project settings data in this table instead of in the projects table itself. This should prevent the projects table from growing bigger.

This is a first step toward: #19826

Todo

Database info

At the time of writing there are ~11_408_127 projects on GitLab.com. Using batches of 10_000 and a delay interval of 2 minutes gives a total estimate of ~38 hours.

Related issues:

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Toon Claes

Merge request reports