CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly

This commit is contained in:
Naomi 2011-04-08 16:54:24 -04:00
parent f365802ce7
commit 4797126073
3 changed files with 19 additions and 9 deletions

View File

@ -147,12 +147,21 @@ class AirtimeInstall {
@exec($command, $output, $results);
}
public static function ExecuteDoctrineMigration($dir, $version)
public static function BypassMigrations($dir, $version)
{
$command = "php $dir/../../../library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$dir/../../../library/doctrine/migrations/migrations-db.php ".
"--no-interaction migrations:execute $version";
"--no-interaction migrations:version $version";
system($command);
}
public static function MigrateTablesToVersion($dir, $version)
{
$command = "php $dir/../../../library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$dir/../../../library/doctrine/migrations/migrations-db.php ".
"--no-interaction migrations:migrate $version";
system($command);
}

View File

@ -13,10 +13,7 @@ AirtimeIni::CreateIniFile();
AirtimeIni::UpdateIniFiles();
echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL;
$migrations = array('20110312121200', '20110331111708', '20110402164819');
foreach($migrations as $migration) {
AirtimeInstall::ExecuteDoctrineMigration(__DIR__, $migration);
}
AirtimeInstall::MigrateTablesToVersion(__DIR__, '20110402164819');
echo PHP_EOL."*** Updating Pypo ***".PHP_EOL;
system("python ".__DIR__."/../../../python_apps/pypo/install/pypo-install.py");

View File

@ -13,10 +13,14 @@ require_once(dirname(__FILE__).'/../../include/AirtimeInstall.php');
AirtimeInstall::DbConnect(true);
echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL;
$migrations = array('20110406182005');
foreach($migrations as $migration) {
AirtimeInstall::ExecuteDoctrineMigration(__DIR__, $migration);
if(AirtimeInstall::DbTableExists('doctrine_migration_versions') === false) {
$migrations = array('20110312121200', '20110331111708', '20110402164819');
foreach($migrations as $migration) {
AirtimeInstall::BypassMigrations(__DIR__, $migration);
}
}
AirtimeInstall::MigrateTablesToVersion(__DIR__, '20110406182005');
//setting data for new aggregate show length column.
$sql = "SELECT id FROM cc_show_instances";