some fixes and more granular methods
This commit is contained in:
parent
6411388185
commit
11d4cd0ef0
1 changed files with 22 additions and 14 deletions
|
|
@ -21,16 +21,17 @@ sub upgradeSites {
|
|||
$class->upgradeSite($configFile, $quiet);
|
||||
}
|
||||
catch {
|
||||
print "Error upgrading $bareFilename: $@\n";
|
||||
print "Error upgrading $bareFilename: $_\n";
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub upgradeSite {
|
||||
my $class = shift;
|
||||
my ($configFile, $quiet) = @_;
|
||||
my $fromVersion = $class->getCurrentVersion($configFile);
|
||||
my @steps = $class->calcUpgradePath($fromVersion, $WebGUI::Version);
|
||||
my @steps = $class->calcUpgradePath($fromVersion, $WebGUI::VERSION);
|
||||
for my $step ( @steps ) {
|
||||
$class->runUpgradeStep($configFile, $step, $quiet);
|
||||
}
|
||||
|
|
@ -96,28 +97,35 @@ sub runUpgradeStep {
|
|||
my $filename = File::Spec->catfile($upgradesDir, $upgradeFile);
|
||||
next
|
||||
unless -f $filename;
|
||||
my ($extension) = $filename =~ /\.([^.]+)$/;
|
||||
next
|
||||
unless $extension;
|
||||
|
||||
my $package = 'WebGUI::Upgrade::File::' . $extension;
|
||||
if ( try { WebGUI::Pluggable::load($package) } && $package->can('run') ) {
|
||||
$package->run($configFile, $version, $filename, $quiet);
|
||||
}
|
||||
else {
|
||||
warn "Don't know how to use $extension upgrade file\n";
|
||||
}
|
||||
$class->runUpgradeFile($configFile, $version, $filename, $quiet);
|
||||
}
|
||||
closedir $dh;
|
||||
$class->markVersionUpgrade($configFile, $version);
|
||||
}
|
||||
|
||||
sub runUpgradeFile {
|
||||
my $class = shift;
|
||||
my ($configFile, $version, $filename, $quiet) = @_;
|
||||
|
||||
my ($extension) = $filename =~ /\.([^.]+)$/;
|
||||
return
|
||||
unless $extension;
|
||||
|
||||
my $package = 'WebGUI::Upgrade::File::' . $extension;
|
||||
if ( try { WebGUI::Pluggable::load($package) } && $package->can('run') ) {
|
||||
return $package->run($configFile, $version, $filename, $quiet);
|
||||
}
|
||||
warn "Don't know how to use $extension upgrade file\n";
|
||||
return;
|
||||
}
|
||||
|
||||
sub markVersionUpgrade {
|
||||
my $class = shift;
|
||||
my $configFile = shift;
|
||||
my $version = shift;
|
||||
|
||||
my $dbh = $class->dbhForConfig($configFile);
|
||||
my $config = WebGUI::Config->new($configFile, 1);
|
||||
my $dbh = $class->dbhForConfig($config);
|
||||
|
||||
$dbh->do(
|
||||
'INSERT INTO webguiVersion (webguiVersion, versionType, dateApplied) VALUES (?,?,?)', {},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue