From b779e963918471e20da57f6515995e0c80f13454 Mon Sep 17 00:00:00 2001 From: Naomi Date: Thu, 31 Mar 2011 15:00:20 -0400 Subject: [PATCH 1/3] CC-2135 : Doctrine Migration scripts missing creating script for all 1.7 database modifications. --- build/schema.xml | 2 +- .../Version20110308003959.php | 21 -------- .../Version20110331111708.php | 54 +++++++++++++++++++ 3 files changed, 55 insertions(+), 22 deletions(-) delete mode 100644 install/DoctrineMigrations/Version20110308003959.php create mode 100644 install/DoctrineMigrations/Version20110331111708.php diff --git a/build/schema.xml b/build/schema.xml index d49bbe1b9..d08f9387f 100644 --- a/build/schema.xml +++ b/build/schema.xml @@ -152,7 +152,7 @@ - + diff --git a/install/DoctrineMigrations/Version20110308003959.php b/install/DoctrineMigrations/Version20110308003959.php deleted file mode 100644 index 41f7199b5..000000000 --- a/install/DoctrineMigrations/Version20110308003959.php +++ /dev/null @@ -1,21 +0,0 @@ -getTable("cc_show_instances"); - $table->addColumn("record", "boolean", array( 'notnull' => 0, 'default' => 0)); - } - - public function down(Schema $schema) - { - $table = $schema->getTable("cc_show_instances"); - $table->dropColumn("record"); - } -} diff --git a/install/DoctrineMigrations/Version20110331111708.php b/install/DoctrineMigrations/Version20110331111708.php new file mode 100644 index 000000000..d932011f3 --- /dev/null +++ b/install/DoctrineMigrations/Version20110331111708.php @@ -0,0 +1,54 @@ +getTable("cc_show_instances"); + + $show_instances_table->addColumn('record', 'smallint', array( 'notnull' => 0, 'default' => 0)); + $show_instances_table->addColumn('rebroadcast', 'smallint', array( 'notnull' => 0, 'default' => 0)); + $show_instances_table->addColumn('instance_id', 'integer', array( 'notnull' => 0)); + $show_instances_table->addColumn('file_id', 'integer', array( 'notnull' => 0)); + $show_instances_table->addColumn('soundcloud_id', 'integer', array( 'notnull' => 0)); + + $show_instances_table->addNamedForeignKeyConstraint("cc_original_show_instance_fkey", $show_instances_table, array("instance_id"), array("id"), array("onDelete" => "CASCADE")); + + $files_table = $schema->getTable("cc_files"); + $show_instances_table->addNamedForeignKeyConstraint("cc_recorded_file_fkey", $files_table, array("file_id"), array("id"), array("onDelete" => "CASCADE")); + //end cc_show_instances modifications + + //start cc_show_days modifications + $show_days_table = $schema->getTable("cc_show_days"); + + $show_days_table->addColumn('record', 'smallint', array( 'notnull' => 0, 'default' => 0)); + //end cc_show_days modifications + } + + public function down(Schema $schema) + { + //start cc_show_instances modifications + $show_instances_table = $schema->getTable("cc_show_instances"); + + $show_instances_table->dropColumn("record"); + $show_instances_table->dropColumn("rebroadcast"); + $show_instances_table->dropColumn("instance_id"); + $show_instances_table->dropColumn("file_id"); + $show_instances_table->dropColumn("soundcloud_id"); + //end cc_show_instances modifications + + //start cc_show_days modifications + $show_days_table = $schema->getTable("cc_show_days"); + + $show_days_table->dropColumn("record"); + //end cc_show_days modifications + } +} From 953456e709a42fb5093a9c66af51b82b3e1cf18b Mon Sep 17 00:00:00 2001 From: Naomi Date: Thu, 31 Mar 2011 16:35:25 -0400 Subject: [PATCH 2/3] CC-2135 : Doctrine Migration scripts missing should have all added tables/columns for airtime 1.7 --- .../Version20110331111708.php | 78 ++++++++++++++----- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/install/DoctrineMigrations/Version20110331111708.php b/install/DoctrineMigrations/Version20110331111708.php index d932011f3..d355566a9 100644 --- a/install/DoctrineMigrations/Version20110331111708.php +++ b/install/DoctrineMigrations/Version20110331111708.php @@ -4,6 +4,7 @@ namespace DoctrineMigrations; use Doctrine\DBAL\Migrations\AbstractMigration, Doctrine\DBAL\Schema\Schema, + Doctrine\DBAL\Schema\Table, Doctrine\DBAL\Schema\Column, Doctrine\DBAL\Types\Type; @@ -12,43 +13,84 @@ class Version20110331111708 extends AbstractMigration public function up(Schema $schema) { //start cc_show_instances modifications - $show_instances_table = $schema->getTable("cc_show_instances"); + $show_instances_table = $schema->getTable('cc_show_instances'); - $show_instances_table->addColumn('record', 'smallint', array( 'notnull' => 0, 'default' => 0)); - $show_instances_table->addColumn('rebroadcast', 'smallint', array( 'notnull' => 0, 'default' => 0)); - $show_instances_table->addColumn('instance_id', 'integer', array( 'notnull' => 0)); - $show_instances_table->addColumn('file_id', 'integer', array( 'notnull' => 0)); - $show_instances_table->addColumn('soundcloud_id', 'integer', array( 'notnull' => 0)); + $show_instances_table->addColumn('record', 'smallint', array('notnull' => 0, 'default' => 0)); + $show_instances_table->addColumn('rebroadcast', 'smallint', array('notnull' => 0, 'default' => 0)); + $show_instances_table->addColumn('instance_id', 'integer', array('notnull' => 0)); + $show_instances_table->addColumn('file_id', 'integer', array('notnull' => 0)); + $show_instances_table->addColumn('soundcloud_id', 'integer', array('notnull' => 0)); - $show_instances_table->addNamedForeignKeyConstraint("cc_original_show_instance_fkey", $show_instances_table, array("instance_id"), array("id"), array("onDelete" => "CASCADE")); + $show_instances_table->addNamedForeignKeyConstraint('cc_original_show_instance_fkey', $show_instances_table, array('instance_id'), array('id'), array('onDelete' => 'CASCADE')); - $files_table = $schema->getTable("cc_files"); - $show_instances_table->addNamedForeignKeyConstraint("cc_recorded_file_fkey", $files_table, array("file_id"), array("id"), array("onDelete" => "CASCADE")); + $files_table = $schema->getTable('cc_files'); + $show_instances_table->addNamedForeignKeyConstraint('cc_recorded_file_fkey', $files_table, array('file_id'), array('id'), array('onDelete' => 'CASCADE')); //end cc_show_instances modifications //start cc_show_days modifications - $show_days_table = $schema->getTable("cc_show_days"); + $show_days_table = $schema->getTable('cc_show_days'); $show_days_table->addColumn('record', 'smallint', array( 'notnull' => 0, 'default' => 0)); //end cc_show_days modifications + + //start cc_show modifications + $show_table = $schema->getTable('cc_show'); + + $show_table->addColumn('url', 'string', array('notnull' => 0, 'length' => 255)); + //end cc_show modifications + + //start cc_schedule modifications + $schedule_table = $schema->getTable('cc_schedule'); + + $playlist_id_col = $schedule_table->getColumn('playlist_id'); + $playlist_id_col->setNotnull(false); + //end cc_schedule modifications + + //create cc_show_rebroadcast table + $cc_show_rebroadcast_table = $schema->createTable('cc_show_rebroadcast'); + + $cc_show_rebroadcast_table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true)); + $cc_show_rebroadcast_table->addColumn('day_offset', 'string', array('length' => 255)); + $cc_show_rebroadcast_table->addColumn('start_time', 'datetime', array('notnull' => 1)); + $cc_show_rebroadcast_table->addColumn('show_id', 'integer', array('notnull' => 1)); + + $cc_show_rebroadcast_table->setPrimaryKey(array('id')); + //end create cc_show_rebroadcast table } public function down(Schema $schema) { //start cc_show_instances modifications - $show_instances_table = $schema->getTable("cc_show_instances"); + $show_instances_table = $schema->getTable('cc_show_instances'); - $show_instances_table->dropColumn("record"); - $show_instances_table->dropColumn("rebroadcast"); - $show_instances_table->dropColumn("instance_id"); - $show_instances_table->dropColumn("file_id"); - $show_instances_table->dropColumn("soundcloud_id"); + $show_instances_table->dropColumn('record'); + $show_instances_table->dropColumn('rebroadcast'); + $show_instances_table->dropColumn('instance_id'); + $show_instances_table->dropColumn('file_id'); + $show_instances_table->dropColumn('soundcloud_id'); //end cc_show_instances modifications //start cc_show_days modifications - $show_days_table = $schema->getTable("cc_show_days"); + $show_days_table = $schema->getTable('cc_show_days'); - $show_days_table->dropColumn("record"); + $show_days_table->dropColumn('record'); //end cc_show_days modifications + + //start cc_show modifications + $show_table = $schema->getTable('cc_show'); + + $show_table->dropColumn('url'); + //end cc_show modifications + + //start cc_schedule modifications + $schedule_table = $schema->getTable('cc_schedule'); + + $playlist_id_col = $schedule_table->getColumn('playlist_id'); + $playlist_id_col->setNotnull(true); + //end cc_schedule modifications + + //drop cc_show_rebroadcast table + $schema->dropTable('cc_show_rebroadcast'); + //end drop cc_show_rebroadcast table } } From 19e75a375628bc13c903dbf9bd4403dfb12c1a22 Mon Sep 17 00:00:00 2001 From: Naomi Date: Thu, 31 Mar 2011 17:21:06 -0400 Subject: [PATCH 3/3] CC-2141 : Upgrade support for Airtime 1.7 --- .../models/airtime/map/CcShowDaysTableMap.php | 2 +- .../models/airtime/om/BaseCcShowDays.php | 29 ++++++++++++++++++- build/sql/schema.sql | 2 +- install/airtime-upgrade.php | 3 ++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/application/models/airtime/map/CcShowDaysTableMap.php b/application/models/airtime/map/CcShowDaysTableMap.php index 333934c44..2e932e7eb 100644 --- a/application/models/airtime/map/CcShowDaysTableMap.php +++ b/application/models/airtime/map/CcShowDaysTableMap.php @@ -47,7 +47,7 @@ class CcShowDaysTableMap extends TableMap { $this->addColumn('REPEAT_TYPE', 'DbRepeatType', 'TINYINT', true, null, null); $this->addColumn('NEXT_POP_DATE', 'DbNextPopDate', 'DATE', false, null, null); $this->addForeignKey('SHOW_ID', 'DbShowId', 'INTEGER', 'cc_show', 'ID', true, null, null); - $this->addColumn('RECORD', 'DbRecord', 'TINYINT', false, null, null); + $this->addColumn('RECORD', 'DbRecord', 'TINYINT', false, null, 0); // validators } // initialize() diff --git a/application/models/airtime/om/BaseCcShowDays.php b/application/models/airtime/om/BaseCcShowDays.php index 248abdb94..3a2d48f37 100644 --- a/application/models/airtime/om/BaseCcShowDays.php +++ b/application/models/airtime/om/BaseCcShowDays.php @@ -80,6 +80,7 @@ abstract class BaseCcShowDays extends BaseObject implements Persistent /** * The value for the record field. + * Note: this column has a database default value of: 0 * @var int */ protected $record; @@ -103,6 +104,27 @@ abstract class BaseCcShowDays extends BaseObject implements Persistent */ protected $alreadyInValidation = false; + /** + * Applies default values to this object. + * This method should be called from the object's constructor (or + * equivalent initialization method). + * @see __construct() + */ + public function applyDefaultValues() + { + $this->record = 0; + } + + /** + * Initializes internal state of BaseCcShowDays object. + * @see applyDefaults() + */ + public function __construct() + { + parent::__construct(); + $this->applyDefaultValues(); + } + /** * Get the [id] column value. * @@ -607,7 +629,7 @@ abstract class BaseCcShowDays extends BaseObject implements Persistent $v = (int) $v; } - if ($this->record !== $v) { + if ($this->record !== $v || $this->isNew()) { $this->record = $v; $this->modifiedColumns[] = CcShowDaysPeer::RECORD; } @@ -625,6 +647,10 @@ abstract class BaseCcShowDays extends BaseObject implements Persistent */ public function hasOnlyDefaultValues() { + if ($this->record !== 0) { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() @@ -1357,6 +1383,7 @@ abstract class BaseCcShowDays extends BaseObject implements Persistent $this->alreadyInSave = false; $this->alreadyInValidation = false; $this->clearAllReferences(); + $this->applyDefaultValues(); $this->resetModified(); $this->setNew(true); $this->setDeleted(false); diff --git a/build/sql/schema.sql b/build/sql/schema.sql index 7d33355d9..6bdc5351d 100644 --- a/build/sql/schema.sql +++ b/build/sql/schema.sql @@ -195,7 +195,7 @@ CREATE TABLE "cc_show_days" "repeat_type" INT2 NOT NULL, "next_pop_date" DATE, "show_id" INTEGER NOT NULL, - "record" INT2, + "record" INT2 default 0, PRIMARY KEY ("id") ); diff --git a/install/airtime-upgrade.php b/install/airtime-upgrade.php index 6db722fa2..a84617321 100644 --- a/install/airtime-upgrade.php +++ b/install/airtime-upgrade.php @@ -21,6 +21,9 @@ 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"); + echo "******************************* Update Complete *******************************".PHP_EOL;