DBIx-Deployer

 view release on metacpan or  search on metacpan

lib/DBIx/Deployer.pm  view on Meta::CPAN


class DBIx::Deployer::Patch 1.2.3 {
    use Digest::MD5;
    use Term::ANSIColor qw(colored);
    use Data::Printer colored => 1;

    has deployed => ( is => 'rw', isa => Bool, default => 0 );
    has verified => ( is => 'rw', isa => Bool, default => 0 );
    has name => ( is => 'ro', isa => Str, required => true );
    has supports_transactions => ( is => 'ro', isa => Bool, default => true );
    has dependencies => ( is => 'ro', isa => Maybe[ArrayRef] );
    has deploy_sql => ( is => 'ro', isa => Maybe[Str] );
    has deploy_sql_args => ( is => 'rw', isa => Maybe[ArrayRef] );
    has deploy_script => ( is => 'ro', isa => Maybe[Str] );
    has deploy_script_args => ( is => 'rw', isa => Maybe[ArrayRef] );
    has no_verify => ( is => 'ro', isa => Bool, default => false );
    has verify_sql => ( is => 'ro', isa => Str );
    has verify_sql_args => ( is => 'rw', isa => ArrayRef );
    has verify_expects => ( is => 'ro', isa => ArrayRef );
    has db => ( is => 'ro', isa => InstanceOf['DBI::db'], required => true );

    method deploy {
        if($self->deploy_sql && $self->deploy_script) {
            $self->handle_error('Patch cannot have both deploy_sql and deploy_script.');
        }
        elsif($self->deploy_sql) {
            if($self->deploy_sql_args){
              $self->db->do($self->deploy_sql, {}, @{ $self->deploy_sql_args })
                or $self->handle_error($self->db->errstr);



( run in 0.678 second using v1.01-cache-2.11-cpan-5f2e87ce722 )