From 4797126073e7929b4da03073f710348f92ce5c85 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 16:54:24 -0400 Subject: [PATCH] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/include/AirtimeInstall.php | 13 +++++++++++-- install/upgrades/airtime-1.7/airtime-upgrade.php | 5 +---- install/upgrades/airtime-1.8/airtime-upgrade.php | 10 +++++++--- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/install/include/AirtimeInstall.php b/install/include/AirtimeInstall.php index 1ae3bce1f..49721cf74 100644 --- a/install/include/AirtimeInstall.php +++ b/install/include/AirtimeInstall.php @@ -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); } diff --git a/install/upgrades/airtime-1.7/airtime-upgrade.php b/install/upgrades/airtime-1.7/airtime-upgrade.php index e5b9fd185..4052ce4b2 100644 --- a/install/upgrades/airtime-1.7/airtime-upgrade.php +++ b/install/upgrades/airtime-1.7/airtime-upgrade.php @@ -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"); diff --git a/install/upgrades/airtime-1.8/airtime-upgrade.php b/install/upgrades/airtime-1.8/airtime-upgrade.php index 686a2aad6..d0f382008 100644 --- a/install/upgrades/airtime-1.8/airtime-upgrade.php +++ b/install/upgrades/airtime-1.8/airtime-upgrade.php @@ -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";