From c9f77472c8fe6f06e381faecf4f53c8cb8036602 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 11 Feb 2008 02:37:58 +0000 Subject: [PATCH] upgrading reason table not quite working with mysql, hopefully no old installs need this, new ones should be fine hopefully --- FS/FS/reason.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/FS/FS/reason.pm b/FS/FS/reason.pm index 5ce1848fb..5311ec5aa 100644 --- a/FS/FS/reason.pm +++ b/FS/FS/reason.pm @@ -137,7 +137,9 @@ sub _upgrade_data { # class method $column = dbdef->table($self->table)->column('reason'); my $columndef = $column->line($dbh); $columndef =~ s/varchar\(\d+\)/text/i; + if ( $dbh->{Driver}->{Name} eq 'Pg' ) { + my $notnull = $columndef =~ s/not null//i; push @sql,"ALTER TABLE $table RENAME reason TO freeside_upgrade_reason"; push @sql,"ALTER TABLE $table ADD $columndef"; @@ -145,9 +147,14 @@ sub _upgrade_data { # class method push @sql,"ALTER TABLE $table ALTER reason SET NOT NULL" if $notnull; push @sql,"ALTER TABLE $table DROP freeside_upgrade_reason"; - }elsif( $dbh->{Driver}->{Name} =~ /^mysql/i ){ - push @sql,"ALTER TABLE $table MODIFY reason ". $column->line($dbh); - }else{ + + } elsif ( $dbh->{Driver}->{Name} =~ /^mysql/i ){ + + #crap, this isn't working + #push @sql,"ALTER TABLE $table MODIFY reason ". $column->line($dbh); + warn "WARNING: reason table upgrade not yet supported for mysql, sorry"; + + } else { die "watchu talkin' 'bout, Willis? (unsupported database type)"; } -- 2.11.0