Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 2381f1e3

Von Moritz Bunkus vor fast 17 Jahren hinzugefügt

  • ID 2381f1e308db61970b8ab3bb760bd3854cdcbb18
  • Vorgänger 6a9bd14f
  • Nachfolger 07948c34

Graphviz-Erstellung auf Standard "png" umgestellt; Option für Auswahl des Formats hinzugefügt.

Unterschiede anzeigen:

scripts/dbupgrade2_tool.pl
#######
my ($opt_list, $opt_tree, $opt_rtree, $opt_nodeps, $opt_graphviz, $opt_help);
my ($opt_user, $opt_apply, $opt_applied);
my ($opt_user, $opt_apply, $opt_applied, $opt_format);
our (%myconfig, $form, $user, $auth);
sub show_help {
my $help_text = <<'END_HELP'
my $help_text = <<"END_HELP"
dbupgrade2_tool.pl [options]
A validation and information tool for the database upgrade scripts
in 'sql/Pg-upgrade2'.
in \'sql/Pg-upgrade2\'.
At startup dbupgrade2_tool.pl will always check the consistency
of all database upgrade scripts (e.g. circular references, invalid
formats, missing meta information). You can but don't have to specifiy
formats, missing meta information). You can but don\'t have to specifiy
additional actions.
Actions:
......
--graphviz[=file] Create a Postscript document showing a tree of
all database upgrades and their dependencies.
If no file name is given then the output is
written to 'db_dependencies.ps'.
written to \'db_dependencies.png\'.
--format=... Format for the graphviz output. Defaults to
\'png\'. All values that the command \'dot\' accepts
for it\'s option \'-T\' are acceptable.
--nodeps List all database upgrades that no other upgrade
depends on
--apply=tag Applies the database upgrades 'tag' and all
upgrades it depends on. If '--apply' is used
then the option '--user' must be used as well.
--apply=tag Applies the database upgrades \'tag\' and all
upgrades it depends on. If \'--apply\' is used
then the option \'--user\' must be used as well.
--applied List the applied database upgrades for the
database that the user given with '--user' uses.
database that the user given with \'--user\' uses.
--help Show this help and exit.
Options:
--user=name The name of the user configuration to use for
database connectivity.
END_HELP
;
# Syntax-Highlighting-Fix f?r Emacs: '
;
print $help_text;
......
}
sub dump_graphviz {
my $file_name = shift || "db_dependencies.ps";
my %params = @_;
my $format = $params{format} || "png";
my $file_name = $params{file_name} || "db_dependencies.${format}";
print "GRAPHVIZ POSTCRIPT\n\n";
print "GRAPHVIZ OUTPUT -- format: ${format}\n\n";
print "Output will be written to '${file_name}'\n";
calc_rev_depends();
$dot = "|dot -Tps ";
$dot = "|dot -T${format} ";
open OUT, "${dot}> \"${file_name}\"" || die;
print OUT
......
"rtree" => \$opt_rtree,
"nodeps" => \$opt_nodeps,
"graphviz:s" => \$opt_graphviz,
"format:s" => \$opt_format,
"user=s" => \$opt_user,
"apply=s" => \$opt_apply,
"applied" => \$opt_applied,
......
$controls = parse_dbupdate_controls($form, "Pg");
dump_list() if ($opt_list);
dump_tree() if ($opt_tree);
dump_tree_reverse() if ($opt_rtree);
dump_graphviz($opt_graphviz) if (defined $opt_graphviz);
dump_nodeps() if ($opt_nodeps);
dump_list() if ($opt_list);
dump_tree() if ($opt_tree);
dump_tree_reverse() if ($opt_rtree);
dump_graphviz('file_name' => $opt_graphviz,
'format' => $opt_format) if (defined $opt_graphviz);
dump_nodeps() if ($opt_nodeps);
if ($opt_user) {
$auth = SL::Auth->new();

Auch abrufbar als: Unified diff