gitlab-org--gitlab-foss/app/models/concerns
Douwe Maan 05efd19e89 Merge branch 'dz-nested-groups' into 'master'
Add nested groups support on data level

## What does this MR do?

- [x] Add  `parent_id` field to `Namespace`model. 
- [x] Create new database table `routes` that keeps information about full path to each group or project
- [x] Remove uniq index from `namespaces.path`
- [x] Add uniq index on `routes.path`
- [x] Fill routes table with path data from namespaces and projects
- [x] Change Namespace/Project URL lookup by routes table
- [x] 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?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG.md) entry added~~
- ~~[Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- ~~API support added~~
- Tests
  - [x] Added for this feature/bug
  - [x] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if it does - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

## What are the relevant issue numbers?

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

See merge request !7121
2016-12-09 01:52:36 +00:00
..
access_requestable.rb
awardable.rb
cache_markdown_field.rb
case_sensitivity.rb
expirable.rb
faster_cache_keys.rb
has_status.rb Fix success status 2016-12-07 12:47:06 +01:00
importable.rb
internal_id.rb
issuable.rb Use :maximum instead of :within for length validators with a 0..N range 2016-12-06 10:23:17 +01:00
mentionable.rb
milestoneish.rb Merge branch 'jej-23867-use-mr-finder-instead-of-access-check' into 'security' 2016-12-08 21:42:07 -03:00
note_on_diff.rb
participable.rb
project_features_compatibility.rb
protected_branch_access.rb CE-specific changes gitlab-org/gitlab-ee#1137 2016-11-29 17:38:45 +05:30
referable.rb Add shorthand support to gitlab markdown references 2016-12-02 19:18:17 -02:00
routable.rb Add nested groups support on data level 2016-12-08 11:47:16 +02:00
select_for_project_authorization.rb
sortable.rb
spammable.rb
strip_attribute.rb
subscribable.rb
taskable.rb
token_authenticatable.rb