• Josianne Hyson's avatar
    Create BulkImport model to group import models · e0622faa
    Josianne Hyson authored
    We want to start importing Group and Project data directly from
    another GitLab instance, via the API. To do this, we need somewhere
    to store authentication data, entity mapping data and other metadata
    so that we can perform the import in background jobs.
    
    Create the BulkImport model which is associated with a user, and used to
    group together all the data relating to the one bulk import request from
    the user. This will be followed up by the introduction of the other
    models the store the import data.
    
    This model introduces:
    
    1. `source_type` -> where the data for this import is being sourced
       from. For now this will just be GitLab imports, but in the future we
       could expand this structure to other services like GitHub and
       Bitbucket.
    2. `user_id` -> the user that initiated the import.
    3. `status` -> to be used by the state machine for recording the status
       of the overall import.
    
    This is a component of the Group Migration MVC epic:
    https://gitlab.com/groups/gitlab-org/-/epics/4374
    
    MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42978
    Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/250280
    e0622faa
bulk_import.rb 276 Bytes