GetOptions(
'client=s' => \ my $client,
all => \ my $all,
+ 'db=s' => \ my $db,
'no-commit|dry-run' => \ my $nocommit,
help => sub { pod2usage(verbose => 99, sections => 'NAME|SYNOPSIS|OPTIONS') },
quiet => \ my $quiet,
$options->{client} = $client;
$options->{all} = $all;
+ $options->{db} = $db;
$options->{nocommit} = $nocommit;
$options->{quiet} = $quiet;
$options->{color} = -t STDOUT ? 1 : 0;
sub make_tables {
my %tables_by_domain;
if ($config{all}) {
- foreach my $domain (sort keys %package_names) {
+ my @domains = $config{db} ? (uc $config{db}) : sort keys %package_names;
+
+ foreach my $domain (@domains) {
my $db = SL::DB::create(undef, $domain);
$tables_by_domain{$domain} = [ grep { my $table = $_; none { $_ eq $table } @{ $blacklist{$domain} } } $db->list_tables ];
$db->disconnect;
scripts/rose_auto_create_model.pl --client name-or-id [--all|-a]
# updates all models
- scripts/rose_auto_create_model.pl --client name-or-id --all
+ scripts/rose_auto_create_model.pl --client name-or-id --all [--db db]
# updates only customer table, login taken from config
scripts/rose_auto_create_model.pl customer
Process all tables from the database. Only those that are blacklistes in
L<SL::DB::Helper::Mappings> are excluded.
+=item C<--db db>
+
+In combination with C<--all> causes all tables in the specific
+database to be processed, not in all databases.
+
=item C<--no-commit, -n>
=item C<--dry-run>