[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.8.8-201-g8c0ecb4

? sunnavy sunnavy at bestpractical.com
Tue Aug 3 02:04:28 EDT 2010


The branch, 3.9-trunk has been updated
       via  8c0ecb43ec7039676b20fa8fe060de7b96773e61 (commit)
      from  7e1a292551581847c7cb30e2c665f3dd3335dd74 (commit)

Summary of changes:
 sbin/rt-setup-database.in |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

- Log -----------------------------------------------------------------
commit 8c0ecb43ec7039676b20fa8fe060de7b96773e61
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Aug 3 14:05:12 2010 +0800

    add --skip-create arg for rt-setup-datebase, see #15374

diff --git a/sbin/rt-setup-database.in b/sbin/rt-setup-database.in
index 87e8b09..2afab67 100755
--- a/sbin/rt-setup-database.in
+++ b/sbin/rt-setup-database.in
@@ -96,7 +96,7 @@ GetOptions(
     'action=s',
     'force', 'debug',
     'dba=s', 'dba-password=s', 'prompt-for-dba-password',
-    'datafile=s', 'datadir=s'
+    'datafile=s', 'datadir=s', 'skip-create'
 );
 
 unless ( $args{'action'} ) {
@@ -124,7 +124,11 @@ foreach ( @actions ) {
 # convert init to multiple actions
 my $init = 0;
 if ( $actions[0] eq 'init' ) {
-    @actions = qw(create schema acl coredata insert);
+    if ($args{'skip-create'}) {
+        @actions = qw(schema coredata insert);
+    } else {
+        @actions = qw(create schema acl coredata insert);
+    }
     $init = 1;
 }
 
@@ -152,14 +156,19 @@ if ( $db_type eq 'SQLite' && !File::Spec->file_name_is_absolute($db_name) ) {
 my $dba_user = $args{'dba'} || $ENV{'RT_DBA_USER'} || $db_user || '';
 my $dba_pass = $args{'dba-password'} || $ENV{'RT_DBA_PASSWORD'};
 
-if ( !$args{force} && ( !defined $dba_pass || $args{'prompt-for-dba-password'} ) ) {
-    $dba_pass = get_dba_password();
-    chomp $dba_pass if defined($dba_pass);
+if ($args{'skip-create'}) {
+    $dba_user = $db_user;
+    $dba_pass = $db_pass;
+} else {
+    if ( !$args{force} && ( !defined $dba_pass || $args{'prompt-for-dba-password'} ) ) {
+        $dba_pass = get_dba_password();
+        chomp $dba_pass if defined($dba_pass);
+    }
 }
 
 print "Working with:\n"
     ."Type:\t$db_type\nHost:\t$db_host\nName:\t$db_name\n"
-    ."User:\t$db_user\nDBA:\t$dba_user\n";
+    ."User:\t$db_user\nDBA:\t$dba_user" . ($args{'skip-create'} ? ' (No DBA)' : '') . "\n";
 
 foreach my $action ( @actions ) {
     no strict 'refs';
@@ -465,6 +474,9 @@ Several actions can be combined using comma separated list.
 --dba                           dba's username
 --dba-password                  dba's password
 --prompt-for-dba-password       Ask for the database administrator's password interactively
+--skip-create                   for 'init': skip creating the database and the
+                                user account, so we don't need administrator
+                                privileges
 
 
 EOF

-----------------------------------------------------------------------


More information about the Rt-commit mailing list