fix password_history schema upgrade from pre-3.8 versions, #72265
authorMark Wells <mark@freeside.biz>
Tue, 30 Aug 2016 19:55:54 +0000 (12:55 -0700)
committerMark Wells <mark@freeside.biz>
Tue, 30 Aug 2016 19:56:20 +0000 (12:56 -0700)
FS/FS/password_history.pm

index a34f616..13d1601 100644 (file)
@@ -161,9 +161,14 @@ sub password_equals {
 }
 
 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;
-  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) )";