Skip to content

Store hashed storage paths in the database

Toon Claes requested to merge tc-repo-full-path-in-db into master

EE port in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8614

What does this MR do?

This will store the disk_path of repositories on hashed storage in the database. It creates adds a relation with the project, so a project can be looked up by disk_path.

A new table project_repositories is introduced. It has a foreign key to projects and a string to store the disk_path.

When a project is created, with hashed storage enabled, a record is created. Or when a project is migrated, a record is created.

What does this MR not do?

It does not take legacy storage projects into account. So when a project is created, or moved, no changes are saved in the project_repositories table.

What are the relevant issue numbers?

Start for https://gitlab.com/gitlab-org/gitlab-ce/issues/48527

Does this MR meet the acceptance criteria?

Edited by Toon Claes

Merge request reports