my $mode = shift;
my $err = 0;
$logger->info("Checking configuration...\n", 0, 'stamped');
#
# check for valid mode
#
unless ($valid_modes{$mode}) {
$logger->warning("Invalid mode: $mode.\n");
$err++;
} else {
$logger->debug("Run mode ok.\n");
}
#
# create the base directory, throw if this fails
#
my $basedir = $conf->param('basedir');
unless (-d $basedir) {
if (system("mkdir -p $basedir") == 0) {
$logger->debug("Base directory created successfully.\n");
} else {
$logger->warning("Unable to create base directory $basedir: $!\n");
$err++;
}
}
#
# check db connection and permissions (SELECT for source, INSERT for target)
#
-LOGGER => $logger,
-CONF => $conf,
);
# source db
$err += $cache->check_db_read_permissions('source');
# target db
$err += $cache->check_db_connection('target');
$err += $cache->check_db_read_permissions('target');
$err += $cache->check_db_write_permissions('target');
#
# check stable ID and archive tables in target db are empty
#
$err += $cache->check_empty_tables('target');
#
# check both dbs have sequence
#
$err += $cache->check_sequence('source');
$err += $cache->check_sequence('target');
#
# check for required meta table entries
#
$err += $cache->check_meta_entries('source');
$err += $cache->check_meta_entries('target');
$logger->info("Done.\n\n", 0, 'stamped');
return $err;
}