Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-05 21:08:19 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-05 21:08:19 +0300
commita8de96bff51846e160b76506dc0ca0fe6f767f64 (patch)
tree1036f1ca75aba492eaaa3439c84a3109b4684896 /lib/gitlab/background_migration
parentafe2b984524ae4b0c8a0636db7ec5b2c452f0734 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/background_migration')
-rw-r--r--lib/gitlab/background_migration/link_lfs_objects.rb58
1 files changed, 1 insertions, 57 deletions
diff --git a/lib/gitlab/background_migration/link_lfs_objects.rb b/lib/gitlab/background_migration/link_lfs_objects.rb
index 3131b5d5125..69c03f617bf 100644
--- a/lib/gitlab/background_migration/link_lfs_objects.rb
+++ b/lib/gitlab/background_migration/link_lfs_objects.rb
@@ -6,8 +6,6 @@ module Gitlab
class LinkLfsObjects
# Model definition used for migration
class ForkNetworkMember < ActiveRecord::Base
- include EachBatch
-
self.table_name = 'fork_network_members'
def self.with_non_existing_lfs_objects
@@ -25,62 +23,8 @@ module Gitlab
end
end
- # Model definition used for migration
- class Project < ActiveRecord::Base
- include EachBatch
-
- self.table_name = 'projects'
-
- has_one :fork_network_member, class_name: 'LinkLfsObjects::ForkNetworkMember'
-
- def self.with_non_existing_lfs_objects
- fork_network_members =
- ForkNetworkMember.with_non_existing_lfs_objects
- .select(1)
- .where('fork_network_members.project_id = projects.id')
-
- where('EXISTS (?)', fork_network_members)
- end
- end
-
- # Model definition used for migration
- class LfsObjectsProject < ActiveRecord::Base
- include EachBatch
-
- self.table_name = 'lfs_objects_projects'
- end
-
- BATCH_SIZE = 1000
-
def perform(start_id, end_id)
- forks =
- Project
- .with_non_existing_lfs_objects
- .where(id: start_id..end_id)
-
- forks.includes(:fork_network_member).find_each do |project|
- LfsObjectsProject
- .select("lfs_objects_projects.lfs_object_id, #{project.id}, NOW(), NOW()")
- .where(project_id: project.fork_network_member.forked_from_project_id)
- .each_batch(of: BATCH_SIZE) do |batch|
- execute <<~SQL
- INSERT INTO lfs_objects_projects (lfs_object_id, project_id, created_at, updated_at)
- #{batch.to_sql}
- SQL
- end
- end
-
- logger.info(message: "LinkLfsObjects: created missing LfsObjectsProject for Projects #{forks.map(&:id).join(', ')}")
- end
-
- private
-
- def execute(sql)
- ::ActiveRecord::Base.connection.execute(sql)
- end
-
- def logger
- @logger ||= Gitlab::BackgroundMigration::Logger.build
+ # no-op as some queries times out
end
end
end