projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix password_history upgrade on new DBs
[freeside.git]
/
FS
/
FS
/
password_history.pm
diff --git
a/FS/FS/password_history.pm
b/FS/FS/password_history.pm
index
a34f616
..
1915a21
100644
(file)
--- a/
FS/FS/password_history.pm
+++ b/
FS/FS/password_history.pm
@@
-161,13
+161,19
@@
sub password_equals {
}
sub _upgrade_schema {
}
sub _upgrade_schema {
+ my $class = shift;
+ # if the table doesn't exist yet then nothing needs to happen here
+ my $dbdef_table = $class->dbdef_table
+ or return;
+
# clean up history records where linked_acct has gone away
my @where;
# clean up history records where linked_acct has gone away
my @where;
- for my $fk ( grep /__/,
__PACKAGE__->
dbdef_table->columns ) {
+ for my $fk ( grep /__/,
$
dbdef_table->columns ) {
my ($table, $key) = split(/__/, $fk);
push @where, "
( $fk IS NOT NULL AND NOT EXISTS(SELECT 1 FROM $table WHERE $table.$key = $fk) )";
}
my ($table, $key) = split(/__/, $fk);
push @where, "
( $fk IS NOT NULL AND NOT EXISTS(SELECT 1 FROM $table WHERE $table.$key = $fk) )";
}
+ return '' unless @where;
my @recs = qsearch({
'table' => 'password_history',
'extra_sql' => ' WHERE ' . join(' AND ', @where),
my @recs = qsearch({
'table' => 'password_history',
'extra_sql' => ' WHERE ' . join(' AND ', @where),