TT#56913 CustomerExporter: option to skip header line

Change-Id: I33ce49971f05678da211c3c41644b01aaa3da90f
(cherry picked from commit bd0797dd75)
mr7.5.5
Rene Krenn 3 years ago
parent 6c12e79b11
commit b464aba51a

@ -93,6 +93,8 @@ our @EXPORT_OK = qw(
$export_customers_blocksize
$csv_all_expected_fields
$csv_header_line
);
#$cf_default_priority
#$cf_default_timeout
@ -122,6 +124,8 @@ our $customer_export_filename_format = undef;
our $csv_all_expected_fields = 1;
our $csv_header_line = 1;
#our $customer_import_filename = undef;
#our $customer_import_numofthreads = $cpucount;
#our $customer_import_multithreading = 1;
@ -247,8 +251,6 @@ sub update_settings {
$result = 0;
}
$csv_all_expected_fields = $data->{csv_sep_char} if exists $data->{csv_all_expected_fields};
$default_csv_config = {
eol => "\r\n",
sep_char => ';',
@ -260,6 +262,8 @@ sub update_settings {
$default_csv_config->{quote_char} = unescape($data->{csv_quote_char}) if exists $data->{csv_quote_char};
$default_csv_config->{escape_char} = unescape($data->{csv_escape_char}) if exists $data->{csv_escape_char};
$csv_header_line = $data->{csv_header_line} if exists $data->{csv_header_line};
return $result;
}
return 0;

@ -7,35 +7,35 @@ enablemultithreading = 1
jobservers = 127.0.0.1:4730
##NGCP MySQL connectivity - "accounting" db:
accounting_host = 192.168.0.178
accounting_host = 192.168.0.96
accounting_port = 3306
accounting_databasename = accounting
accounting_username = root
accounting_password =
##NGCP MySQL connectivity - "billing" db:
billing_host = 192.168.0.178
billing_host = 192.168.0.96
billing_port = 3306
billing_databasename = billing
billing_username = root
billing_password =
##NGCP MySQL connectivity - "provisioning" db:
provisioning_host = 192.168.0.178
provisioning_host = 192.168.0.96
provisioning_port = 3306
provisioning_databasename = provisioning
provisioning_username = root
provisioning_password =
##NGCP MySQL connectivity - "kamailio" db:
kamailio_host = 192.168.0.178
kamailio_host = 192.168.0.96
kamailio_port = 3306
kamailio_databasename = kamailio
kamailio_username = root
kamailio_password =
##NGCP MySQL connectivity - default db for distributed transactions (XA) to connect to:
xa_host = 192.168.0.178
xa_host = 192.168.0.96
xa_port = 3306
xa_databasename = ngcp
xa_username = root

@ -31,6 +31,8 @@ use NGCP::BulkProcessor::Projects::ETL::Customer::Settings qw(
$dry
$skip_errors
$force
$csv_header_line
);
use NGCP::BulkProcessor::Logging qw(
@ -272,7 +274,7 @@ sub export_customers_tabular_task {
&get_sqlite_db()->copydbfile($export_filename);
} elsif ('csv' eq $export_format) {
NGCP::BulkProcessor::Projects::ETL::Customer::Dao::Tabular::copy_table(\&get_csv_db);
&get_csv_db()->copytablefile(NGCP::BulkProcessor::Projects::ETL::Customer::Dao::Tabular::gettablename(),$export_filename);
&get_csv_db()->copytablefile(NGCP::BulkProcessor::Projects::ETL::Customer::Dao::Tabular::gettablename(),$export_filename,not $csv_header_line);
} else {
push(@$messages,'invalid extension for output filename $export_filename');
}

@ -21,6 +21,8 @@ csv_sep_char = ,
csv_quote_char = "
csv_escape_char = "
csv_header_line = 0;

@ -440,9 +440,11 @@ sub copytablefile {
my $self = shift;
my $tablename = shift;
my $target = shift;
my $drop_header_line = shift;
my $tablefilename = $self->_gettablefilename($tablename);
$self->db_disconnect();
if (File::Copy::copy($tablefilename,$target)) {
`sed -i '1d' $target` if $drop_header_line;
dbinfo($self,"$tablefilename copied to $target",getlogger(__PACKAGE__));
} else {
dberror($self,"copy from $tablefilename to $target failed: $!",getlogger(__PACKAGE__));

Loading…
Cancel
Save