diff options
Diffstat (limited to 'perl')
| -rw-r--r-- | perl/Wallet/Admin.pm | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/perl/Wallet/Admin.pm b/perl/Wallet/Admin.pm index 511916d..d2e8cb0 100644 --- a/perl/Wallet/Admin.pm +++ b/perl/Wallet/Admin.pm @@ -1,7 +1,7 @@  # Wallet::Admin -- Wallet system administrative interface.  #  # Written by Russ Allbery <rra@stanford.edu> -# Copyright 2008, 2009, 2010, 2011, 2012 +# Copyright 2008, 2009, 2010, 2011, 2012, 2013  #     The Board of Trustees of the Leland Stanford Junior University  #  # See LICENSE for licensing terms. @@ -24,6 +24,12 @@ use Wallet::Schema;  # that it will sort properly.  $VERSION = '0.07'; +# The last non-DBIx::Class version of Wallet::Schema.  If a database has no +# DBIx::Class versioning, we artificially install this version number before +# starting the upgrade process so that the automated DBIx::Class upgrade will +# work properly. +our $BASE_VERSION = '0.07'; +  ##############################################################################  # Constructor, destructor, and accessors  ############################################################################## @@ -166,6 +172,13 @@ sub backup {  sub upgrade {      my ($self) = @_; +    # Check to see if the database is versioned.  If not, install the +    # versioning table and default version. +    if (!$self->{dbh}->get_db_version) { +        $self->{dbh}->install ($BASE_VERSION); +    } + +    # Perform the actual upgrade.      if ($self->{dbh}->get_db_version) {          eval { $self->{dbh}->upgrade; };      } | 
