X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-upgrade;h=e5410c2e9a3bd703cdf78c3768d07fe28f7fa003;hb=0f4522e8cdd9ffcff50d573af138e7bf7ef0994a;hp=1155af02da7ce7428a52f5b1b67e135e9a30f14f;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;p=freeside.git diff --git a/FS/bin/freeside-upgrade b/FS/bin/freeside-upgrade index 1155af02d..e5410c2e9 100755 --- a/FS/bin/freeside-upgrade +++ b/FS/bin/freeside-upgrade @@ -39,10 +39,31 @@ $DBIx::DBSchema::DEBUG = $DEBUG; $DBIx::DBSchema::Table::DEBUG = $DEBUG; $DBIx::DBSchema::Index::DEBUG = $DEBUG; +my @bugfix = (); + +if (dbdef->table('cust_main')->column('agent_custid')) { + push @bugfix, + "UPDATE cust_main SET agent_custid = NULL where agent_custid = ''"; + + push @bugfix, + "UPDATE h_cust_main SET agent_custid = NULL where agent_custid = ''" + if (dbdef->table('h_cust_main')); +} + +#you should have run fs-migrate-part_svc ages ago, when you upgraded +#from 1.3 to 1.4... if not, it needs to be hooked into -upgrade here or +#you'll lose all the part_svc settings it migrates to part_svc_column + if ( $DRY_RUN ) { - print join(";\n", dbdef->sql_update_schema( dbdef_dist, $dbh ) ). ";\n"; + print + join(";\n", @bugfix, dbdef->sql_update_schema( dbdef_dist, $dbh ) ). ";\n"; exit; } else { + foreach my $statement ( @bugfix ) { + $dbh->do( $statement ) + or die "Error: ". $dbh->errstr. "\n executing: $statement"; + } + dbdef->update_schema( dbdef_dist, $dbh ); }