summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-upgrade
diff options
context:
space:
mode:
Diffstat (limited to 'FS/bin/freeside-upgrade')
-rwxr-xr-xFS/bin/freeside-upgrade22
1 files changed, 20 insertions, 2 deletions
diff --git a/FS/bin/freeside-upgrade b/FS/bin/freeside-upgrade
index 792b8ba13..b05d6f0a8 100755
--- a/FS/bin/freeside-upgrade
+++ b/FS/bin/freeside-upgrade
@@ -47,7 +47,7 @@ if (dbdef->table('cust_main')->column('agent_custid')) {
if ( $DRY_RUN ) {
print
- join(";\n", @bugfix, dbdef->sql_update_schema( dbdef_dist, $dbh ) ). ";\n";
+ join(";\n", @bugfix, dbdef->sql_update_schema( dbdef_dist(datasrc), $dbh ) ). ";\n";
exit;
} else {
foreach my $statement ( @bugfix ) {
@@ -55,7 +55,7 @@ if ( $DRY_RUN ) {
or die "Error: ". $dbh->errstr. "\n executing: $statement";
}
- dbdef->update_schema( dbdef_dist, $dbh );
+ dbdef->update_schema( dbdef_dist(datasrc), $dbh );
}
my $hashref = {};
@@ -64,6 +64,24 @@ $hashref->{debug} = 1 if $DEBUG;
print join "\n", prune_applications($hashref);
print "\n" if $DRY_RUN;
+if ( $dbh->{Driver}->{Name} =~ /^mysql/i ) {
+
+ my $sth = $dbh->prepare(
+ "SELECT COUNT(*) FROM duplicate_lock WHERE lockname = 'svc_acct'"
+ ) or die $dbh->errstr;
+
+ $sth->execute or die $sth->errstr;
+
+ unless ( $sth->fetchrow_arrayref->[0] ) {
+
+ $sth = $dbh->prepare(
+ "INSERT INTO duplicate_lock ( lockname ) VALUES ( 'svc_acct' )"
+ ) or die $dbh->errstr;
+
+ $sth->execute or die $sth->errstr;
+
+ }
+}
$dbh->commit or die $dbh->errstr;