X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fetc%2Fupgrade%2Fupgrade-articles;h=32213c08debd82db4699cecc7732ef7307c67da4;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=eef00aa67422ca8f972edef0a0326e830c43662f;hpb=85e677b86fc37c54e6de2b06340351a28f5a5916;p=freeside.git diff --git a/rt/etc/upgrade/upgrade-articles b/rt/etc/upgrade/upgrade-articles index eef00aa67..32213c08d 100755 --- a/rt/etc/upgrade/upgrade-articles +++ b/rt/etc/upgrade/upgrade-articles @@ -3,7 +3,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -46,28 +46,23 @@ # those contributions and any derivatives thereof. # # END BPS TAGGED BLOCK }}} +use 5.10.1; use strict; use warnings; use lib "/opt/rt3/local/lib"; use lib "/opt/rt3/lib"; -use RT; -RT::LoadConfig(); -RT->Config->Set('LogToScreen' => 'debug'); -RT::Init(); - -$| = 1; +use RT::Interface::CLI qw(Init); +Init(); my $db_name = RT->Config->Get('DatabaseName'); my $db_type = RT->Config->Get('DatabaseType'); my $dbh = $RT::Handle->dbh; -my $sth = $dbh->table_info( '', undef, undef, "'TABLE'"); my $found_fm_tables; -while ( my $table = $sth->fetchrow_hashref ) { - my $name = $table->{TABLE_NAME} || $table->{'table_name'}; # Oracle's table_info affected by NAME_lc +foreach my $name ( $RT::Handle->_TableNames ) { next unless $name =~ /^fm_/i; $found_fm_tables->{lc $name}++; } @@ -159,6 +154,7 @@ sub copy_tables { use RT::CustomFields; my $cfs = RT::CustomFields->new(RT->SystemUser); $cfs->Limit( FIELD => 'LookupType', VALUE => 'RT::FM::Class-RT::FM::Article' ); + $cfs->{'find_disabled_rows'} = 1; while ( my $cf = $cfs->Next ) { my ($ret, $msg) = $cf->__Set( Field => 'LookupType', Value => 'RT::Class-RT::Article' ); warn "Update Custom Field LookupType for CF.".$cf->Id." $msg"; @@ -169,6 +165,7 @@ sub copy_tables { use RT::ObjectCustomFieldValues; my $ocfvs = RT::ObjectCustomFieldValues->new(RT->System); $ocfvs->Limit( FIELD => 'ObjectType', VALUE => 'RT::FM::Article' ); + $ocfvs->{'find_expired_rows'} = 1; while ( my $ocfv = $ocfvs->Next ) { my ($ret, $msg) = $ocfv->__Set( Field => 'ObjectType', Value => 'RT::Article' ); warn "Updated CF ".$ocfv->__Value('CustomField')." Value for Article ".$ocfv->__Value('ObjectId');