Skip to content

Add nested groups support on data level

Dmytro Zaporozhets (DZ) requested to merge dz-nested-groups into master

What does this MR do?

  • Add parent_id field to Namespacemodel.
  • Create new database table routes that keeps information about full path to each group or project
  • Remove uniq index from namespaces.path
  • Add uniq index on routes.path
  • Fill routes table with path data from namespaces and projects
  • Change Namespace/Project URL lookup by routes table
  • Rename related routes (nested groups, projects) when parent path changes

This is solely backend preparation. UI, Permissions and API support will be added in separate merge request.

Are there points in the code the reviewer needs to double check?

migrations, Route model, Routable concern

Will require downtime. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7121#note_19490281 discussion

Why was this MR needed?

One step further to full nested groups support

Screenshots (if relevant)

No UI changes in this merge request so far

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ce/issues/2772

Merge request reports