App-DoubleUp

 view release on metacpan or  search on metacpan

lib/App/DoubleUp.pm  view on Meta::CPAN

    return @vals;
}

sub list_of_schemata {
    my ($self) = @_;
    my $source = $self->source;
    if ($source->{type} eq 'config') {
        return @{ $source->{databases} };
    }
    elsif ($source->{type} eq 'database') {
        my $db = $self->connect_to_db('dbi:mysql:information_schema', $self->credentials);
        return db_flatarray($db, $source->{schemata_sql});
    }
}

sub credentials {
    my $self = shift;
    return @{$self->{config}{credentials}};
}

sub connect_to_db {
    my ($self, $dsn, $user, $password) = @_;
    return DBI->connect($dsn, $user, $password, { RaiseError => 1, PrintError => 0 }) || croak "Error while connecting to '$dsn'";
}

sub process_querys_for_one_db {
    my ($self, $db, $querys) = @_;

lib/App/DoubleUp.pm  view on Meta::CPAN

            for (@db) {
                say;
            }
        }
        when ('import') {
            my @querys = $self->process_files($self->files);

            for my $schema (@{ $self->database_names }) {
                my $dsn = 'dbi:mysql:'.$schema;
                say "DB: $schema";
                my $db = $self->connect_to_db($dsn, $self->credentials);
                $self->process_querys_for_one_db($db, \@querys);
                say '';
            }
        }
        when (undef) {
            $self->usage;
        }
        default {
            say "Unknown command: $_";
            $self->usage;

t/01_creation.t  view on Meta::CPAN

    ok($app);
}

{
    my $app = App::DoubleUp->new({ config_file => 't/doubleuprc' });
    is($app->config_file, 't/doubleuprc');
}

{
    path('.doubleuprc')->spew(<<"CONFIG");
credentials:
  - testuser
  - testpass
source:
  type: config
  databases:
    - ww_test
    - ww_blurp
CONFIG
    my $app = App::DoubleUp->new();
    is($app->config_file, './.doubleuprc');

t/cmd/02_listdb.t  view on Meta::CPAN

use Test::More;
use App::DoubleUp;

my $app = App::DoubleUp->new({config_file => 't/doubleuprc'});
$app->process_args(qw/listdb/);

is_deeply([$app->credentials], [qw/testuser testpass/]);

is($app->command, 'listdb');
is_deeply($app->database_names, ['ww_test']);

done_testing();

t/doubleuprc  view on Meta::CPAN

credentials:
  - testuser
  - testpass
source:
  type: config
  databases:
    - ww_test



( run in 0.382 second using v1.01-cache-2.11-cpan-4d50c553e7e )