From 45191e95387a76195ec735dddd27be8ed7d2b8c7 Mon Sep 17 00:00:00 2001 From: levinse Date: Sat, 9 Jul 2011 02:59:49 +0000 Subject: custom fields, RT11714 --- FS/bin/freeside-upgrade | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'FS/bin/freeside-upgrade') diff --git a/FS/bin/freeside-upgrade b/FS/bin/freeside-upgrade index e11a0a7fe..16c30d9cf 100755 --- a/FS/bin/freeside-upgrade +++ b/FS/bin/freeside-upgrade @@ -127,6 +127,19 @@ my @statements = dbdef->sql_update_schema( dbdef_dist(datasrc), { 'nullify_default' => 1, }, ); +#### NEW CUSTOM FIELDS (prevent columns from being dropped by upgrade) +my $cfsth = $dbh->prepare("SELECT * FROM part_virtual_field") + or die $dbh->errstr; +$cfsth->execute or die $cfsth->errstr; +my $cf; +# likely a very inefficient implementation of this +while ( $cf = $cfsth->fetchrow_hashref ) { + my $tbl = $cf->{'dbtable'}; + my $name = $cf->{'name'}; + @statements = grep { $_ !~ /^\s*ALTER\s+TABLE\s+$tbl\s+DROP\s+COLUMN\s+cf_$name\s*$/i } + @statements; +} + @statements = grep { $_ !~ /^CREATE +INDEX +h_queue/i } #useless, holds up queue insertion @statements; -- cgit v1.2.1