Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package App::Backend::DB::Version;
- use Mojo::Base -base;
- my @upgrade_queries = (
- [
- "ALTER TABLE winner ADD COLUMN winner_unpaid TIMESTAMP"
- ]
- );
- has 'app';
- has needed => sub {scalar @upgrade_queries};
- has current => sub {shift->_quick_lookup('PRAGMA user_version')->[0]->[0]};
- sub _quick_lookup {
- my ($self, $query, @values) = @_;
- App::Backend::DB->new_or_cached(domain => $self->app->mode)->dbh->selectall_arrayref($query, {}, @values);
- }
- sub upgrade {
- my $self = shift;
- my ($current, $needed) = ($self->current, $self->needed);
- $self->app->log->debug("Current database verion: $current, needed database version: $needed");
- if ($needed > $current) {
- $self->app->log->info("Upgrading Sqlite database from $current to version $needed");
- my $dbh = App::Backend::DB->new_or_cached(domain => $self->app->mode)->dbh;
- foreach my $version_queries (@upgrade_queries[$current .. $needed - 1]) {
- foreach my $query (@$version_queries) {
- $self->app->log->debug("Executing: $query");
- $dbh->do($query);
- }
- }
- $self->app->log->debug("Updating user_version pragma");
- $dbh->do("PRAGMA user_version = " . $self->needed);
- }
- }
- "This string is false"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement