diff options
author | Luke Duncalfe <lduncalfe@eml.cc> | 2019-06-06 18:51:50 +1200 |
---|---|---|
committer | Luke Duncalfe <lduncalfe@eml.cc> | 2019-06-17 11:23:06 +1200 |
commit | f7163afb8a036468ccc3f657ac09f3c09b318dab (patch) | |
tree | f935d63b744625597467489a7b11ccbb07864c8a /app/models/lfs_objects_project.rb | |
parent | 82822945d446acf44176a36da38675e98ca17616 (diff) | |
download | gitlab-ce-f7163afb8a036468ccc3f657ac09f3c09b318dab.tar.gz |
CE backport for changes in EE MR 138949490-record-repository_type-on-lfs_objects_projects-ce
This backports to CE changes that allow the recording of the
repository_type in the table lfs_objects_projects.
This is in order to allow future pruning of unreferenced LFS objects,
as we will need to know which repository to look in for the LFS pointer
file.
The EE MR that contains the original code and a full explanation of the
changes is
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/13894
EE Issue https://gitlab.com/gitlab-org/gitlab-ee/issues/9490
Note that there was a lot of CE code changed in the EE MR because we
want to allow the wiki repository to also use LFS. See
https://gitlab.com/gitlab-org/gitlab-ce/issues/43721. As the wiki is
an unlicensed feature, a full backport is required to enable this.
Diffstat (limited to 'app/models/lfs_objects_project.rb')
-rw-r--r-- | app/models/lfs_objects_project.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/models/lfs_objects_project.rb b/app/models/lfs_objects_project.rb index f9afb18c1d7..e45c56b6394 100644 --- a/app/models/lfs_objects_project.rb +++ b/app/models/lfs_objects_project.rb @@ -5,11 +5,17 @@ class LfsObjectsProject < ApplicationRecord belongs_to :lfs_object validates :lfs_object_id, presence: true - validates :lfs_object_id, uniqueness: { scope: [:project_id], message: "already exists in project" } + validates :lfs_object_id, uniqueness: { scope: [:project_id, :repository_type], message: "already exists in repository" } validates :project_id, presence: true after_commit :update_project_statistics, on: [:create, :destroy] + enum repository_type: { + project: 0, + wiki: 1, + design: 2 ## EE-specific + } + private def update_project_statistics |