Add nested groups support on data level
What does this MR do?
-
Add parent_id
field toNamespace
model. -
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?
-
CHANGELOG entry added~~ Documentation created/updatedAPI support added- Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together