X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-upgrade;h=9c2811538783b4a1af1448a86f3727c4d9ac00cf;hb=71bfc1b5f19f25d0e330664d53bf8f641e5088d9;hp=5b94c477579381bb02f5226ab53e22bb5de8aa7c;hpb=dba6b1030a2694cbb69371c171e4ebb8c52db830;p=freeside.git diff --git a/FS/bin/freeside-upgrade b/FS/bin/freeside-upgrade index 5b94c4775..9c2811538 100755 --- a/FS/bin/freeside-upgrade +++ b/FS/bin/freeside-upgrade @@ -5,7 +5,7 @@ use vars qw( $opt_d $opt_s $opt_q $opt_v $opt_r $opt_c $opt_j $opt_a ); use vars qw( $DEBUG $DRY_RUN ); use Getopt::Std; use DBD::Pg qw(:async); #for -a -use DBIx::DBSchema 0.31; #0.39 +use DBIx::DBSchema 0.46; use FS::UID qw(adminsuidsetup checkeuid datasrc driver_name); use FS::CurrentUser; use FS::Schema qw( dbdef dbdef_dist reload_dbdef ); @@ -100,11 +100,12 @@ if ( dbdef->table('upgrade_journal') ) { ( SELECT MAX(upgradenum) FROM upgrade_journal ) ) "; - } elsif ( driver_name =~ /^mysql/i ) { - push @bugfix, " - ALTER TABLE upgrade_journal AUTO_INCREMENT = - ( ( SELECT MAX(upgradenum) FROM upgrade_journal ) + 1 ) - "; + #MySQL can't do this in a statement so have to do it manually + #} elsif ( driver_name =~ /^mysql/i ) { + # push @bugfix, " + # ALTER TABLE upgrade_journal AUTO_INCREMENT = + # ( ( SELECT MAX(upgradenum) FROM upgrade_journal ) + 1 ) + # "; } } @@ -180,6 +181,9 @@ unless ( driver_name =~ /^mysql/i ) { if ( $opt_c ) { + #can always add it back for 4.x->4.x if we need it + die "FATAL: -c removed: cdr / h_cdr upgrade is required for 4.x\n"; + @statements = grep { $_ !~ /^ *ALTER +TABLE +(h_)?cdr /i } @statements; @@ -429,7 +433,7 @@ sub dbdef_create { # reverse engineer the schema from the DB and save to file } sub usage { - die "Usage:\n freeside-upgrade [ -d ] [ -q | -v ] [ -r ] [ -c ] [ -s ] [ -j ] [ -a ] user\n"; + die "Usage:\n freeside-upgrade [ -d ] [ -q | -v ] [ -r ] [ -s ] [ -j ] [ -a ] user\n"; } =head1 NAME @@ -438,7 +442,7 @@ freeside-upgrade - Upgrades database schema for new freeside verisons. =head1 SYNOPSIS - freeside-upgrade [ -d ] [ -q | -v ] [ -r ] [ -c ] [ -s ] [ -j ] [ -a ] + freeside-upgrade [ -d ] [ -q | -v ] [ -r ] [ -s ] [ -j ] [ -a ] =head1 DESCRIPTION @@ -464,14 +468,11 @@ Also performs other upgrade functions: current default. [ -s ]: Schema changes only. Useful for Pg/slony slaves where the data + changes will be replicated from the Pg/slony master. [ -r ]: Skip sqlradius updates. Useful for occassions where the sqlradius databases may be inaccessible. - [ -c ]: Skip cdr and h_cdr updates. - - changes will be replicated from the Pg/slony master. - [ -j ]: Run certain upgrades asychronously from the job queue. Currently used only for the 2.x -> 3.x cust_location, cust_pay and part_pkg upgrades. This may cause odd behavior before the upgrade is