X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=bin%2Ffs-migrate-part_svc;fp=bin%2Ffs-migrate-part_svc;h=96332f72a75885d32d6ebcb48f2e9c516dd48742;hb=57d69d5c1f98f778a0df82795ce21ee7bd21042a;hp=0000000000000000000000000000000000000000;hpb=db1b6ebfe35aba1f4d2580b13a0a74ac317784ba;p=freeside.git diff --git a/bin/fs-migrate-part_svc b/bin/fs-migrate-part_svc new file mode 100755 index 000000000..96332f72a --- /dev/null +++ b/bin/fs-migrate-part_svc @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +use strict; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearchs); +use FS::part_svc + +my $user = shift or die &usage; +my $dbh = adminsuidsetup $user; + +my $oldAutoCommit = $FS::UID::AutoCommit; +local $FS::UID::AutoCommit = 0 + +foreach my $part_svc ( qsearch('part_svc', {} ) ) { + foreach my $field ( + grep { defined($part_svc->getfield($part_svc->svcdb.'__'.$field.'_flag') ) } + fields($self->svcdb) + ) { + my $flag = $self->getfield($part_svc->svcdb.'__'.$field.'_flag'); + if ( uc($flag) =~ /^([DF])$/ ) { + $part_svc_column->setfield('columnflag', $1); + $part_svc_column->setfield('columnvalue', + $self->getfield($part_svc->svcdb.'__'.$field) + ); + $error = $part_svc_column->insert; + } else { + $error = $part_svc_column->delete; + } + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + die $error; + } + + } +} + +sub usage { + die "Usage:\n fs-migrate-part_svc user\n"; +} +