diff options
author | ivan <ivan> | 2008-02-11 02:37:59 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-02-11 02:37:59 +0000 |
commit | 97e944b1b1e739ba7231671724629c6b24a26f02 (patch) | |
tree | ddb04aad7fddccb93d3c9fe1b0cffe669a3f1c79 | |
parent | de6a1715f1c76394b11ae0c8a036e424b3c9bcd8 (diff) |
upgrading reason table not quite working with mysql, hopefully no old installs need this, new ones should be fine hopefully
-rw-r--r-- | FS/FS/reason.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/FS/FS/reason.pm b/FS/FS/reason.pm index 712185c6f..7a609f1a6 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)"; } |