use autodie;
use Carp qw( carp croak );
+use Log::Contextual::WarnLogger;
+use Log::Contextual qw(:log :dlog), -default_logger => Log::Contextual::WarnLogger->new({
+ env_prefix => 'DBICDH'
+});
+use Data::Dumper::Concise;
use Method::Signatures::Simple;
use Try::Tiny;
lazy_build => 1,
);
+# this will probably never get called as the DBICDH
+# will be passing down a schema_version normally, which
+# is built the same way
method _build_schema_version { $self->schema->schema_version }
method __ddl_consume_with_prefix($type, $versions, $prefix) {
my $sql;
for my $filename (@files) {
if ($filename =~ /\.sql$/) {
+ log_debug { "[DBICDH] Running SQL from $filename" };
my @sql = @{$self->_read_sql_file($filename)};
$sql .= join "\n", @sql;
+ log_trace { "[DBICDH] Running SQL $sql" };
foreach my $line (@sql) {
$storage->_query_start($line);
$storage->_query_end($line);
}
} elsif ( $filename =~ /^(.+)\.pl$/ ) {
+ log_debug { "[DBICDH] Running Perl from $filename" };
my $filedata = do { local( @ARGV, $/ ) = $filename; <> };
no warnings 'redefine';
my $fn = eval "$filedata";
use warnings;
+ log_trace { '[DBICDH] Running Perl ' . Dumper($fn) };
if ($@) {
carp "$filename failed to compile: $@";
sub deploy {
my $self = shift;
my $version = (shift @_ || {})->{version} || $self->schema_version;
+ log_info { "[DBICDH] deploying version $version" };
return $self->_run_sql_and_perl($self->_ddl_schema_consume_filenames(
$self->storage->sqlt_type,
my $self = shift;
my $args = shift;
my $version = $args->{version} || $self->schema_version;
+ log_info { "[DBICDH] preinstalling version $version" };
my $storage_type = $args->{storage_type} || $self->storage->sqlt_type;
my @files = @{$self->_ddl_preinstall_consume_filenames(
my ($self, $args) = @_;
my $source = $args->{result_source};
my $version = $args->{version};
+ log_info { '[DBICDH] installing_resultsource ' . $source->source_name . ", version $version" };
my $rs_install_file =
$self->_resultsource_install_filename($source->source_name);
sub prepare_resultsource_install {
my $self = shift;
my $source = (shift @_)->{result_source};
+ log_info { '[DBICDH] preparing install for resultsource ' . $source->source_name };
my $filename = $self->_resultsource_install_filename($source->source_name);
$self->_prepare_install({
}
sub prepare_deploy {
+ log_info { '[DBICDH] preparing deploy' };
my $self = shift;
$self->_prepare_install({}, '_ddl_schema_produce_filename');
}
sub prepare_upgrade {
my ($self, $args) = @_;
+ log_info {
+ '[DBICDH] preparing upgrade ' .
+ "from $args->{from_version} to $args->{to_version}"
+ };
$self->_prepare_changegrade(
$args->{from_version}, $args->{to_version}, $args->{version_set}, 'up'
);
sub prepare_downgrade {
my ($self, $args) = @_;
+ log_info {
+ '[DBICDH] preparing downgrade ' .
+ "from $args->{from_version} to $args->{to_version}"
+ };
$self->_prepare_changegrade(
$args->{from_version}, $args->{to_version}, $args->{version_set}, 'down'
);
sub downgrade_single_step {
my $self = shift;
my $version_set = (shift @_)->{version_set};
+ log_info { qq([DBICDH] downgrade_single_step'ing ) . Dumper($version_set) };
my $sql = $self->_run_sql_and_perl($self->_ddl_schema_down_consume_filenames(
$self->storage->sqlt_type,
sub upgrade_single_step {
my $self = shift;
my $version_set = (shift @_)->{version_set};
+ log_info { qq([DBICDH] upgrade_single_step'ing ) . Dumper($version_set) };
my $sql = $self->_run_sql_and_perl($self->_ddl_schema_up_consume_filenames(
$self->storage->sqlt_type,