my %package_names = SL::DB::Helper::Mappings->get_package_names;
our $form;
-our $cgi;
our $auth;
our %lx_office_conf;
usage();
}
- $::lxdebug = LXDebug->new();
+ $::lxdebug = LXDebug->new();
$::locale = Locale->new("de");
$::form = new Form;
- $::cgi = new CGI('');
$::auth = SL::Auth->new();
- $::user = User->new($login);
- %::myconfig = $auth->read_user($login);
+ $::user = User->new(login => $login);
+ %::myconfig = $auth->read_user(login => $login);
+ $::request = { cgi => CGI->new({}) };
$form->{script} = 'rose_meta_data.pl';
$form->{login} = $login;
sub parse_args {
my ($options) = @_;
GetOptions(
- 'login|user=s' => \ my $login,
- all => \ my $all,
- sugar => \ my $sugar,
- 'no-commit' => \ my $nocommit,
- 'dry-run' => \ my $nocommit,
- help => sub { pod2usage(verbose => 99, sections => 'NAME|SYNOPSIS|OPTIONS') },
- verbose => \ my $verbose,
- diff => \ my $diff,
+ 'login|user=s' => \ my $login,
+ all => \ my $all,
+ sugar => \ my $sugar,
+ 'no-commit|dry-run' => \ my $nocommit,
+ help => sub { pod2usage(verbose => 99, sections => 'NAME|SYNOPSIS|OPTIONS') },
+ verbose => \ my $verbose,
+ diff => \ my $diff,
);
$options->{login} = $login if $login;
class is stable, and won't change behind your back in response to an "action at
a distance" (i.e., a database schema update).>
-Unfortunately this ready easier than it is, since classes need to get in the
-right package and directory, certain stuff need to be adjusted and table names
+Unfortunately this reads easier than it is, since classes need to go into the
+right package and directory, certain stuff needs to be adjusted and table names
need to be translated into their class names. This script will wrap all that
behind a few simple options.
-In the most basic version, just give it a login and
+In the most basic version, just give it a login and a table name, and it will
+load the schema information for this table and create the appropriate class
+files, or update them if already present.
+
+Each table has two associated files. A C<SL::DB::MetaSetup::*> class, which is
+a perl version of the schema definition, and a C<SL::DB::*> class file. The
+first one will be updated if the schema changes, the second one will only be
+created if it does not exist.
=head1 OPTIONS
=item C<--dry-run>
Do not write back generated files. This will do everything as usual but not
-actually modify any files.
+actually modify any file.
=item C<--diff>
-Displays diff for selected file, if file is present and never file is
-different. bware, does not imply C<no-commit>.
+Displays diff for selected file, if file is present and newer file is
+different. Beware, does not imply C<--no-commit>.
=item C<--help, -h>