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/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/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/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..d355566a9 --- /dev/null +++ b/install/DoctrineMigrations/Version20110331111708.php @@ -0,0 +1,96 @@ +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 + + //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->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 + + //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 + } +} 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;