[Rt-commit] r17805 - in rt/3.999/trunk: .
sunnavy at bestpractical.com
sunnavy at bestpractical.com
Sat Jan 17 22:11:15 EST 2009
Author: sunnavy
Date: Sat Jan 17 22:11:15 2009
New Revision: 17805
Modified:
rt/3.999/trunk/ (props changed)
rt/3.999/trunk/sbin/rt-migrate-db-from-3.8
Log:
r18875 at sunnavys-mb: sunnavy | 2009-01-18 11:10:45 +0800
remove db-type db-name-rt4 --dba from args, since they all can be got from etc/config.yml
Modified: rt/3.999/trunk/sbin/rt-migrate-db-from-3.8
==============================================================================
--- rt/3.999/trunk/sbin/rt-migrate-db-from-3.8 (original)
+++ rt/3.999/trunk/sbin/rt-migrate-db-from-3.8 Sat Jan 17 22:11:15 2009
@@ -12,8 +12,7 @@
BEGIN {
confess "unknown option"
- unless GetOptions( \%args, 'db-type=s', 'db-name-rt3=s', 'db-name-rt4=s',
- 'dba=s', 'help' );
+ unless GetOptions( \%args, 'db-name-rt3=s', 'help' );
my $USAGE = <<'END';
before run, please backup your dbs
@@ -25,10 +24,7 @@
options:
help: print this usage
-db-type: db's type, mysql, Pg or SQLite
-db-name-rt3: db name of rt3
-db-name-rt4: db name of rt4
-dba: database administrator
+db-name-rt3: db name of rt3, default is 'rt3'
END
if ( $args{'help'} ) {
@@ -41,9 +37,10 @@
}
-$args{'db-type'} ||= 'mysql';
-$args{'db-name-rt3'} ||= 'rt3';
-$args{'db-name-rt4'} ||= 'rt4';
+my $db_name_rt3 = $args{'db-name-rt3'} || 'rt3';
+my $db_type = Jifty->config->framework('Database')->{'Driver'};
+my $db_name_rt4 = Jifty->config->framework('Database')->{'Database'};
+my $db_user = Jifty->config->framework('Database')->{'User'};
my %name_changes = (
nick_name => 'nickname',
@@ -59,27 +56,27 @@
my $tables_need_change = 'ACL Principals Templates Scrips';
my $tables_no_change = 'Attachments Attributes CachedGroupMembers CustomFieldValues CustomFields GroupMembers Groups Links ObjectCustomFieldValues ObjectCustomFields Queues ScripActions ScripConditions Tickets Transactions Users sessions';
-if ( $args{'db-type'} eq 'mysql' ) {
- $args{'dba'} ||= 'root';
+if ( $db_type eq 'mysql' ) {
+ $db_user ||= 'root';
my $run_sql = sub {
my $db = shift;
my @sql = @_;
- open my $fh, '|-', "mysql -u $args{'dba'} $db" or die $!;
+ open my $fh, '|-', "mysql -u $db_user $db" or die $!;
print $fh $_ for @sql;
close $fh;
};
# make a tmp rt3 db, with to-be-dropped columns dropped
- my $tmp_rt3_db = "tmp_$args{'db-name-rt3'}_for_migration";
+ my $tmp_rt3_db = "tmp_${db_name_rt3}_for_migration";
print "creating database $tmp_rt3_db\n";
$run_sql->( '', "create database $tmp_rt3_db;\n" );
print "created database $tmp_rt3_db with success\n";
print "copying tables need to alter( $tables_need_change ) to $tmp_rt3_db\n";
system(
- "mysqldump -u $args{'dba'} $args{'db-name-rt3'} $tables_need_change |
- mysql -u $args{'dba'} $tmp_rt3_db"
+ "mysqldump -u $db_user $db_name_rt3 $tables_need_change |
+ mysql -u $db_user $tmp_rt3_db"
) && die $!;
print "copied tables need to alter with success!\n";
@@ -114,21 +111,21 @@
$insert =~ s/'AdminCc'/'admin_cc'/g;
$insert =~
s/(?<!INSERT INTO )`(\w+)`/'`' . ($name_changes{renaming( $1)} || renaming($1)) . '`'/ge;
- $run_sql->( $args{'db-name-rt4'}, $insert );
+ $run_sql->( $db_name_rt4, $insert );
}
};
- print "inserting data to $args{'db-name-rt4'}\n";
+ print "inserting data to $db_name_rt4\n";
# insert unchanged(actually, no so changed) tables from origion db
$insert->(
-"mysqldump -u $args{'dba'} $args{'db-name-rt3'} --complete-insert --no-create-info $tables_no_change"
+"mysqldump -u $db_user $db_name_rt3 --complete-insert --no-create-info $tables_no_change"
);
# import changed tables form tmp db
$insert->(
-"mysqldump -u $args{'dba'} $tmp_rt3_db --complete-insert --no-create-info"
+"mysqldump -u $db_user $tmp_rt3_db --complete-insert --no-create-info"
);
- print "inserted data to $args{'db-name-rt4'} with success\n";
+ print "inserted data to $db_name_rt4 with success\n";
$run_sql->( '', "drop database $tmp_rt3_db\n" );
More information about the Rt-commit
mailing list