Class: Gitlab::ImportExport::Group::RelationTreeRestorer
- Inherits:
-
Object
- Object
- Gitlab::ImportExport::Group::RelationTreeRestorer
- Defined in:
- lib/gitlab/import_export/group/relation_tree_restorer.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(user:, shared:, relation_reader:, members_mapper:, object_builder:, relation_factory:, reader:, importable:, importable_attributes:, importable_path:) ⇒ RelationTreeRestorer
constructor
rubocop:disable Metrics/ParameterLists.
- #restore ⇒ Object
Constructor Details
#initialize(user:, shared:, relation_reader:, members_mapper:, object_builder:, relation_factory:, reader:, importable:, importable_attributes:, importable_path:) ⇒ RelationTreeRestorer
rubocop:disable Metrics/ParameterLists
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/gitlab/import_export/group/relation_tree_restorer.rb', line 7 def initialize( # rubocop:disable Metrics/ParameterLists user:, shared:, relation_reader:, members_mapper:, object_builder:, relation_factory:, reader:, importable:, importable_attributes:, importable_path: ) @user = user @shared = shared @importable = importable @relation_reader = relation_reader @members_mapper = members_mapper @object_builder = object_builder @relation_factory = relation_factory @reader = reader @importable_attributes = importable_attributes @importable_path = importable_path end |
Instance Method Details
#restore ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/gitlab/import_export/group/relation_tree_restorer.rb', line 31 def restore Gitlab::Database.all_uncached do ActiveRecord::Base.no_touching do update_params! BulkInsertableAssociations.with_bulk_insert(enabled: bulk_insert_enabled) do create_relations! end end end # ensure that we have latest version of the restore @importable.reload # rubocop:disable Cop/ActiveRecordAssociationReload true rescue StandardError => e @shared.error(e) false end |