doc
[freeside.git] / FS / bin / freeside-upgrade
index 5b94c47..ab23844 100755 (executable)
@@ -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;
@@ -312,7 +316,7 @@ print "\n" if $DRY_RUN;
 
 if ( $dbh->{Driver}->{Name} =~ /^mysql/i && ! $opt_s ) {
 
-  foreach my $table (qw( svc_acct svc_phone )) {
+  foreach my $table (qw( svc_acct svc_phone cust_main_county )) {
 
     my $sth = $dbh->prepare(
       "SELECT COUNT(*) FROM duplicate_lock WHERE lockname = '$table'"
@@ -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
 
@@ -463,20 +467,17 @@ Also performs other upgrade functions:
   [ -v ]: Run verbosely, sending debugging information to STDERR.  This is the
           current default.
 
-  [ -s ]: Schema changes only.  Useful for Pg/slony slaves where the data
+  [ -s ]: Schema changes only.  Used to be useful for Pg/slony slaves where the
+          data changes would be replicated from the Pg/slony master (current
+          native Pg replication replicates schema changes to slaves
+          automatically).
 
   [ -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
-          complete, so it's recommended only for very large cust_main, cust_pay
-          and/or part_pkg tables that take too long to upgrade.
+  [ -j ]: Run certain upgrades asychronously from the job queue.  Recommended
+          for very large cust_main or part_pkg tables that take too long to
+          upgrade.
 
   [ -a ]: Run schema changes in parallel (Pg only).  DBIx::DBSchema minimum 
           version 0.41 recommended.  Recommended only for large databases and