mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 18:13:39 +08:00
4d719725c8
You can use `discourse restore --location=local FILENAME` if you want to restore a backup that is stored locally even though the `backup_location` has the value `s3`.
35 lines
805 B
Ruby
35 lines
805 B
Ruby
# frozen_string_literal: true
|
|
|
|
module BackupRestore
|
|
class Factory
|
|
def initialize(user_id: nil, client_id: nil)
|
|
@user_id = user_id
|
|
@client_id = client_id
|
|
end
|
|
|
|
def logger
|
|
@logger ||= Logger.new(user_id: @user_id, client_id: @client_id)
|
|
end
|
|
|
|
def create_system_interface
|
|
SystemInterface.new(logger)
|
|
end
|
|
|
|
def create_uploads_restorer
|
|
UploadsRestorer.new(logger)
|
|
end
|
|
|
|
def create_database_restorer(current_db)
|
|
DatabaseRestorer.new(logger, current_db)
|
|
end
|
|
|
|
def create_meta_data_handler(filename, tmp_directory)
|
|
MetaDataHandler.new(logger, filename, tmp_directory)
|
|
end
|
|
|
|
def create_backup_file_handler(filename, current_db, location)
|
|
BackupFileHandler.new(logger, filename, current_db, location)
|
|
end
|
|
end
|
|
end
|