Cloud storage upgrade script

This commit is contained in:
drigato 2014-11-03 16:56:25 -05:00
parent 6cda01fba9
commit f147fb34bb
2 changed files with 98 additions and 44 deletions

View File

@ -0,0 +1,10 @@
CREATE TABLE cloud_file
(
id serial NOT NULL,
resource_id text NOT NULL,
cc_file_id integer,
CONSTRAINT cloud_file_pkey PRIMARY KEY (id),
CONSTRAINT "cloud_file_FK_1" FOREIGN KEY (cc_file_id)
REFERENCES cc_files (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
)

View File

@ -252,3 +252,47 @@ class AirtimeUpgrader255 extends AirtimeUpgrader {
}
}
}
class AirtimeUpgrader259 extends AirtimeUpgrader {
protected function getSupportedVersions() {
return array (
'2.5.5'
);
}
protected function getNewVersion() {
return '2.5.9';
}
public function upgrade($dir = __DIR__) {
Cache::clear();
assert($this->checkIfUpgradeSupported());
$newVersion = $this->getNewVersion();
try {
$this->toggleMaintenanceScreen(true);
Cache::clear();
// Begin upgrade
$airtimeConf = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : "/etc/airtime/airtime.conf";
$values = parse_ini_file($airtimeConf, true);
$username = $values['database']['dbuser'];
$password = $values['database']['dbpass'];
$host = $values['database']['host'];
$database = $values['database']['dbname'];
passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/upgrade_sql/airtime_"
.$this->getNewVersion()."/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\"");
Application_Model_Preference::SetAirtimeVersion($newVersion);
Cache::clear();
$this->toggleMaintenanceScreen(false);
} catch(Exception $e) {
$this->toggleMaintenanceScreen(false);
throw $e;
}
}
}