Method: Dataflow::Adapters::MongoDbAdapter#dump

Defined in:
lib/dataflow/adapters/mongo_db_adapter.rb

#dump(base_folder:, read_dataset_idx:) ⇒ Object



226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/dataflow/adapters/mongo_db_adapter.rb', line 226

def dump(base_folder:, read_dataset_idx:)
  archive_path = "#{base_folder}/#{@settings.db_name}/#{@settings.dataset_name}.#{read_dataset_idx}.gz"
  options = "--archive=#{archive_path} --db=#{@settings.db_name} --collection=#{read_dataset_name} "
  options += "--host=#{@settings.db_host} " if @settings.db_host.present?
  options += "--port=#{@settings.db_port} " if @settings.db_port.present?
  options += "--username=#{@settings.db_user} " if @settings.db_user.present?
  options += "--password=#{@settings.db_password} " if @settings.db_password.present?

  `mkdir -p #{base_folder}/#{@settings.db_name}`
  `mongodump #{options} --gzip`
  archive_path
end