diff options
Diffstat (limited to 'perl/Wallet/Admin.pm')
-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; }; } |