Class: Superset::Services::ImportDashboardAcrossEnvironments

Inherits:
Object
  • Object
show all
Includes:
FileUtilities
Defined in:
lib/superset/services/import_dashboard_across_environment.rb

Instance Method Summary collapse

Methods included from FileUtilities

#unzip_file

Constructor Details

#initialize(target_database_yaml_file:, target_database_schema:, dashboard_export_zip:) ⇒ ImportDashboardAcrossEnvironments

Returns a new instance of ImportDashboardAcrossEnvironments.



32
33
34
35
36
# File 'lib/superset/services/import_dashboard_across_environment.rb', line 32

def initialize(target_database_yaml_file:, target_database_schema: ,dashboard_export_zip:)
  @target_database_yaml_file   = target_database_yaml_file
  @target_database_schema = target_database_schema
  @dashboard_export_zip        = dashboard_export_zip
end

Instance Method Details

#dashboard_configObject



49
50
51
# File 'lib/superset/services/import_dashboard_across_environment.rb', line 49

def dashboard_config
  @dashboard_config ||= Superset::Services::DashboardLoader.new(dashboard_export_zip: dashboard_export_zip).perform
end

#performObject



38
39
40
41
42
43
44
45
46
47
# File 'lib/superset/services/import_dashboard_across_environment.rb', line 38

def perform
  validate_params

  remove_source_database_config
  insert_target_database_file
  insert_target_database_config
  update_dataset_configs

  create_new_dashboard_zip
end