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 )