From 6b6a7b98acbd566a870386a6968e4aae98d291ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Kusalananda=20K=C3=A4h=C3=A4ri?=
 <ak4@sanger.ac.uk>
Date: Mon, 13 Sep 2010 14:44:12 +0000
Subject: [PATCH] Add usage() and update some variable names.

---
 .../scripts/update_database_list.pl           | 68 +++++++++++++++----
 1 file changed, 55 insertions(+), 13 deletions(-)

diff --git a/misc-scripts/production_database/scripts/update_database_list.pl b/misc-scripts/production_database/scripts/update_database_list.pl
index acff24ffa3..107ae16b9c 100755
--- a/misc-scripts/production_database/scripts/update_database_list.pl
+++ b/misc-scripts/production_database/scripts/update_database_list.pl
@@ -6,6 +6,49 @@ use warnings;
 use Getopt::Long qw( :config no_ignore_case );
 use DBI qw( :sql_types );
 
+sub usage {
+  my $padding = ' ' x length($0);
+
+  print <<USAGE_END;
+Usage:
+  $0 --release NN --master master-server \\
+  $padding --server server1 --server server2 [...] \\
+  $padding --dbport 3306 --dbuser user --dbpass passwd \\
+  $padding --dbwuser write_user --dbwpass write_passwd
+
+or
+  $0 --help
+
+or
+  $0 --about
+
+where
+
+  --release/-r  The current release (required).
+
+  --master/-m   The master server where the production database lives
+                (optional, default is 'ens-staging1').
+  --server/-s   A database server (optional, may occur several times,
+                default is 'ens-staging1', and 'ens-staging2').
+
+  --dbport/-P   The port to connect to (optional, default is '3306').
+
+  --dbuser/-u   The (read only) user to connect as (optional,
+                default is 'ensro').
+  --dbpass/-p   The password to connect with as the above user
+                (optional, no default).
+
+  --dbwuser/-wu The user (with write permissions) to connect as
+                (optional, default is 'ensadmin').
+  --dbwpass/-wp The password to connect with as the above user
+                (optional, no default).
+
+  --help/-h     Displays this help text.
+
+  --about/-a    Displays a text about this program (what it does etc.).
+USAGE_END
+} ## end sub usage
+
 my $release;
 my @servers = ('ens-staging1', 'ens-staging2');
 my $master = 'ens-staging1';
@@ -19,16 +62,16 @@ my $dbropass;
 my $opt_help  = 0;
 my $opt_about = 0;
 
-if ( !GetOptions( 'release|r=i'  => \$release,
-                  'master|m=s'   => \$master,
-                  'server|s=s@'  => \@servers,
-                  'dbuser|u=s'   => \$dbuser,
-                  'dbpass|p=s'   => \$dbpass,
-                  'dbport|P=s'   => \$dbport,
-                  'dbrouser|rou' => \$dbrouser,
-                  'dbropass|rop' => \$dbropass,
-                  'help|h!'      => \$opt_help,
-                  'about!'       => \$opt_about )
+if ( !GetOptions( 'release|r=i' => \$release,
+                  'master|m=s'  => \$master,
+                  'server|s=s@' => \@servers,
+                  'dbuser|u=s'  => \$dbuser,
+                  'dbpass|p=s'  => \$dbpass,
+                  'dbport|P=s'  => \$dbport,
+                  'dbrouser|wu' => \$dbwuser,
+                  'dbropass|wp' => \$dbwpass,
+                  'help|h!'     => \$opt_help,
+                  'about!'      => \$opt_about )
      || $opt_help )
 {
   usage();
@@ -42,11 +85,10 @@ if ( !GetOptions( 'release|r=i'  => \$release,
   exit();
 }
 
-
 my %databases;
 foreach my $server (@servers) {
   my $dsn = sprintf( 'DBI:mysql:host=%s;port=%d', $server, $dbport );
-  my $dbh = DBI->connect( $dsn, $dbrouser, $dbropass,
+  my $dbh = DBI->connect( $dsn, $dbuser, $dbpass,
                           { 'PrintError' => 1, 'RaiseError' => 0 } );
 
   foreach my $dbtype ( 'cdna',                'core',
@@ -111,7 +153,7 @@ my $dsn = sprintf( 'DBI:mysql:host=%s;port=%s;database=%s',
                    $master, $dbport,
                    sprintf( 'ensembl_production_%d', $release ) );
 
-my $dbh = DBI->connect( $dsn, $dbuser, $dbpass,
+my $dbh = DBI->connect( $dsn, $dbwuser, $dbwpass,
                         { 'PrintError' => 0, 'RaiseError' => 0 } );
 
 my $sp_sel_sth = $dbh->prepare(
-- 
GitLab