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 );
}
if ( dbdef->table('upgrade_journal') ) {
- push @bugfix, "SELECT SETVAL( 'upgrade_journal_upgradenum_seq',
- ( SELECT MAX(upgradenum) FROM upgrade_journal )
- )
- ";
+ if ( driver_name =~ /^Pg/i ) {
+ push @bugfix, "
+ SELECT SETVAL( 'upgrade_journal_upgradenum_seq',
+ ( SELECT MAX(upgradenum) FROM upgrade_journal )
+ )
+ ";
+ #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 )
+ # ";
+ }
}
if ( $DRY_RUN ) {
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