From 908aa890fed44f02eef93a36d47d6879f45fc04b Mon Sep 17 00:00:00 2001 From: Naomi Date: Thu, 7 Apr 2011 15:28:29 -0400 Subject: [PATCH 1/8] testing if the column has wrong type, if so replacing it. --- .../Version20110406182005.php | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/install/DoctrineMigrations/Version20110406182005.php b/install/DoctrineMigrations/Version20110406182005.php index 6f29283a7..671b32c17 100644 --- a/install/DoctrineMigrations/Version20110406182005.php +++ b/install/DoctrineMigrations/Version20110406182005.php @@ -15,12 +15,15 @@ class Version20110406182005 extends AbstractMigration $cc_show_instances->addColumn('time_filled', 'time', array('notnull' => false)); //end cc_show_instances modifications - //start cc_show_instances modifications + //start cc_show_rebroadcast modifications $cc_show_rebroadcast = $schema->getTable('cc_show_rebroadcast'); - $cc_show_rebroadcast->dropColumn('start_time'); - $cc_show_rebroadcast->addColumn('start_time', 'time', array('notnull' => true)); - //end cc_show_instances modifications + $type = $cc_show_rebroadcast->getColumn('start_time')->getType()->getName(); + if($type == 'datetime') { + $cc_show_rebroadcast->dropColumn('start_time'); + $cc_show_rebroadcast->addColumn('start_time', 'time', array('notnull' => true)); + } + //end cc_show_rebroadcast modifications } public function down(Schema $schema) @@ -31,10 +34,14 @@ class Version20110406182005 extends AbstractMigration $cc_show_instances->dropColumn('time_filled'); //end cc_show_instances modifications - //start cc_show_instances modifications + //start cc_show_rebroadcast modifications $cc_show_rebroadcast = $schema->getTable('cc_show_rebroadcast'); - $cc_show_rebroadcast->dropColumn('start_time'); - $cc_show_rebroadcast->addColumn('start_time', 'datetime', array('notnull' => 1)); - //end cc_show_instances modifications + + $type = $cc_show_rebroadcast->getColumn('start_time')->getType()->getName(); + if($type == 'datetime') { + $cc_show_rebroadcast->dropColumn('start_time'); + $cc_show_rebroadcast->addColumn('start_time', 'datetime', array('notnull' => 1)); + } + //end cc_show_rebroadcast modifications } } From 976dda339a003d6818ac3a215f141a57c5e13e2c Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 11:44:53 -0400 Subject: [PATCH 2/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/airtime-upgrade.php | 13 ++------- .../upgrades/airtime-1.7/airtime-upgrade.php | 23 +++++++++++++++ .../upgrades/airtime-1.8/airtime-upgrade.php | 28 +++++++++++++++++++ 3 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 install/upgrades/airtime-1.7/airtime-upgrade.php create mode 100644 install/upgrades/airtime-1.8/airtime-upgrade.php diff --git a/install/airtime-upgrade.php b/install/airtime-upgrade.php index a84617321..a01f5bd9a 100644 --- a/install/airtime-upgrade.php +++ b/install/airtime-upgrade.php @@ -7,22 +7,13 @@ */ require_once(dirname(__FILE__).'/include/AirtimeIni.php'); -require_once(dirname(__FILE__).'/include/AirtimeInstall.php'); AirtimeIni::ExitIfNotRoot(); echo "******************************** Update Begin *********************************".PHP_EOL; -AirtimeIni::CreateIniFile(); -AirtimeIni::UpdateIniFiles(); -echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; -AirtimeInstall::MigrateTables(__DIR__); - -echo PHP_EOL."*** Updating Pypo ***".PHP_EOL; -system("python ".__DIR__."/../python_apps/pypo/install/pypo-install.py"); - -echo PHP_EOL."*** Recorder Installation ***".PHP_EOL; -system("python ".__DIR__."/../python_apps/show-recorder/install/recorder-install.py"); +system("php ".__DIR__."/upgrades/airtime-1.7/airtime-upgrade.php"); +system("php ".__DIR__."/upgrades/airtime-1.8/airtime-upgrade.php"); echo "******************************* Update Complete *******************************".PHP_EOL; diff --git a/install/upgrades/airtime-1.7/airtime-upgrade.php b/install/upgrades/airtime-1.7/airtime-upgrade.php new file mode 100644 index 000000000..ea674a8db --- /dev/null +++ b/install/upgrades/airtime-1.7/airtime-upgrade.php @@ -0,0 +1,23 @@ +GetAll($sql); + +foreach ($show_instances as $show_instance) { + $sql = "UPDATE cc_show_instances SET time_filled = (SELECT SUM(clip_length) FROM cc_schedule WHERE instance_id = {$show_instance}) WHERE id = {$show_instance}"; + $CC_DBC->query($sql); +} +//end setting data for new aggregate show length column. + + From cb2787143b81ae133330114ddaa5ca9981ab9ae3 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 15:41:31 -0400 Subject: [PATCH 3/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly telling doctrine to upgrade to only a specified version --- install/include/AirtimeInstall.php | 7 +++++-- install/upgrades/airtime-1.7/airtime-upgrade.php | 2 +- install/upgrades/airtime-1.8/airtime-upgrade.php | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/install/include/AirtimeInstall.php b/install/include/AirtimeInstall.php index bd3a568c2..8efd04ff6 100644 --- a/install/include/AirtimeInstall.php +++ b/install/include/AirtimeInstall.php @@ -147,9 +147,12 @@ class AirtimeInstall { @exec($command, $output, $results); } - public static function MigrateTables($dir) + public static function MigrateTables($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"; + $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 ea674a8db..05e862721 100644 --- a/install/upgrades/airtime-1.7/airtime-upgrade.php +++ b/install/upgrades/airtime-1.7/airtime-upgrade.php @@ -13,7 +13,7 @@ AirtimeIni::CreateIniFile(); AirtimeIni::UpdateIniFiles(); echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; -AirtimeInstall::MigrateTables(__DIR__); +AirtimeInstall::MigrateTables(__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 c4589ac8b..dab8fb04d 100644 --- a/install/upgrades/airtime-1.8/airtime-upgrade.php +++ b/install/upgrades/airtime-1.8/airtime-upgrade.php @@ -11,7 +11,7 @@ require_once __DIR__.'/../../../application/configs/conf.php'; require_once(dirname(__FILE__).'/../../include/AirtimeInstall.php'); echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; -AirtimeInstall::MigrateTables(__DIR__); +AirtimeInstall::MigrateTables(__DIR__, '20110406182005'); //setting data for new aggregate show length column. AirtimeInstall::DbConnect(true); From 8ab78e74ead301c98228a27d7593a5baa2f03266 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 16:07:41 -0400 Subject: [PATCH 4/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/include/AirtimeInstall.php | 8 ++++---- install/upgrades/airtime-1.8/airtime-upgrade.php | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/install/include/AirtimeInstall.php b/install/include/AirtimeInstall.php index 8efd04ff6..349bbf0d1 100644 --- a/install/include/AirtimeInstall.php +++ b/install/include/AirtimeInstall.php @@ -149,10 +149,10 @@ class AirtimeInstall { public static function MigrateTables($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"; + $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.8/airtime-upgrade.php b/install/upgrades/airtime-1.8/airtime-upgrade.php index dab8fb04d..e432a9e15 100644 --- a/install/upgrades/airtime-1.8/airtime-upgrade.php +++ b/install/upgrades/airtime-1.8/airtime-upgrade.php @@ -10,12 +10,12 @@ set_include_path(__DIR__.'/../../../library' . PATH_SEPARATOR . get_include_path require_once __DIR__.'/../../../application/configs/conf.php'; require_once(dirname(__FILE__).'/../../include/AirtimeInstall.php'); +AirtimeInstall::DbConnect(true); + echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; AirtimeInstall::MigrateTables(__DIR__, '20110406182005'); //setting data for new aggregate show length column. -AirtimeInstall::DbConnect(true); - $sql = "SELECT id FROM cc_show_instances"; $show_instances = $CC_DBC->GetAll($sql); From f365802ce7c827fb79a5e3565b5a24c72962f903 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 16:25:29 -0400 Subject: [PATCH 5/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/include/AirtimeInstall.php | 4 ++-- install/upgrades/airtime-1.7/airtime-upgrade.php | 5 ++++- install/upgrades/airtime-1.8/airtime-upgrade.php | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/install/include/AirtimeInstall.php b/install/include/AirtimeInstall.php index 349bbf0d1..1ae3bce1f 100644 --- a/install/include/AirtimeInstall.php +++ b/install/include/AirtimeInstall.php @@ -147,12 +147,12 @@ class AirtimeInstall { @exec($command, $output, $results); } - public static function MigrateTables($dir, $version) + public static function ExecuteDoctrineMigration($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"; + "--no-interaction migrations:execute $version"; system($command); } diff --git a/install/upgrades/airtime-1.7/airtime-upgrade.php b/install/upgrades/airtime-1.7/airtime-upgrade.php index 05e862721..e5b9fd185 100644 --- a/install/upgrades/airtime-1.7/airtime-upgrade.php +++ b/install/upgrades/airtime-1.7/airtime-upgrade.php @@ -13,7 +13,10 @@ AirtimeIni::CreateIniFile(); AirtimeIni::UpdateIniFiles(); echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; -AirtimeInstall::MigrateTables(__DIR__, '20110402164819'); +$migrations = array('20110312121200', '20110331111708', '20110402164819'); +foreach($migrations as $migration) { + AirtimeInstall::ExecuteDoctrineMigration(__DIR__, $migration); +} 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 e432a9e15..686a2aad6 100644 --- a/install/upgrades/airtime-1.8/airtime-upgrade.php +++ b/install/upgrades/airtime-1.8/airtime-upgrade.php @@ -13,7 +13,10 @@ require_once(dirname(__FILE__).'/../../include/AirtimeInstall.php'); AirtimeInstall::DbConnect(true); echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; -AirtimeInstall::MigrateTables(__DIR__, '20110406182005'); +$migrations = array('20110406182005'); +foreach($migrations as $migration) { + AirtimeInstall::ExecuteDoctrineMigration(__DIR__, $migration); +} //setting data for new aggregate show length column. $sql = "SELECT id FROM cc_show_instances"; From 4797126073e7929b4da03073f710348f92ce5c85 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 16:54:24 -0400 Subject: [PATCH 6/8] 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"; From ae1397f28c028e408c50170893ff058e03fafc1e Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 17:44:05 -0400 Subject: [PATCH 7/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/airtime-upgrade.php | 2 +- install/include/AirtimeInstall.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/airtime-upgrade.php b/install/airtime-upgrade.php index a01f5bd9a..799cb4b76 100644 --- a/install/airtime-upgrade.php +++ b/install/airtime-upgrade.php @@ -12,7 +12,7 @@ AirtimeIni::ExitIfNotRoot(); echo "******************************** Update Begin *********************************".PHP_EOL; -system("php ".__DIR__."/upgrades/airtime-1.7/airtime-upgrade.php"); +//system("php ".__DIR__."/upgrades/airtime-1.7/airtime-upgrade.php"); system("php ".__DIR__."/upgrades/airtime-1.8/airtime-upgrade.php"); echo "******************************* Update Complete *******************************".PHP_EOL; diff --git a/install/include/AirtimeInstall.php b/install/include/AirtimeInstall.php index 49721cf74..ddac4bd06 100644 --- a/install/include/AirtimeInstall.php +++ b/install/include/AirtimeInstall.php @@ -152,7 +152,7 @@ class AirtimeInstall { $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:version $version"; + "--no-interaction --add migrations:version $version"; system($command); } From 8f1d9e8d869f9004206bbc602ee1b69dfd73f86c Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 8 Apr 2011 17:58:33 -0400 Subject: [PATCH 8/8] CC-2172 : Create Upgrade structure so that a user can upgrade from any version of Airtime properly --- install/upgrades/airtime-1.8/airtime-upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/upgrades/airtime-1.8/airtime-upgrade.php b/install/upgrades/airtime-1.8/airtime-upgrade.php index d0f382008..fdf79bdec 100644 --- a/install/upgrades/airtime-1.8/airtime-upgrade.php +++ b/install/upgrades/airtime-1.8/airtime-upgrade.php @@ -27,7 +27,7 @@ $sql = "SELECT id FROM cc_show_instances"; $show_instances = $CC_DBC->GetAll($sql); foreach ($show_instances as $show_instance) { - $sql = "UPDATE cc_show_instances SET time_filled = (SELECT SUM(clip_length) FROM cc_schedule WHERE instance_id = {$show_instance}) WHERE id = {$show_instance}"; + $sql = "UPDATE cc_show_instances SET time_filled = (SELECT SUM(clip_length) FROM cc_schedule WHERE instance_id = {$show_instance["id"]}) WHERE id = {$show_instance["id"]}"; $CC_DBC->query($sql); } //end setting data for new aggregate show length column.