diff --git a/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.1/downgrade.sql b/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.1/downgrade.sql index 3a6bf5768..fc4c019cd 100644 --- a/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.1/downgrade.sql +++ b/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.1/downgrade.sql @@ -1 +1,3 @@ ALTER TABLE imported_podcast DROP COLUMN IF EXISTS album_override; +ALTER TABLE third_party_track_references ALTER COLUMN file_id DROP DEFAULT; +ALTER TABLE third_party_track_references ALTER COLUMN file_id SET NOT NULL; diff --git a/airtime_mvc/application/models/airtime/map/ThirdPartyTrackReferencesTableMap.php b/airtime_mvc/application/models/airtime/map/ThirdPartyTrackReferencesTableMap.php index 98b907c19..3b90ff4ff 100644 --- a/airtime_mvc/application/models/airtime/map/ThirdPartyTrackReferencesTableMap.php +++ b/airtime_mvc/application/models/airtime/map/ThirdPartyTrackReferencesTableMap.php @@ -42,7 +42,7 @@ class ThirdPartyTrackReferencesTableMap extends TableMap $this->addPrimaryKey('id', 'DbId', 'INTEGER', true, null, null); $this->addColumn('service', 'DbService', 'VARCHAR', true, 256, null); $this->addColumn('foreign_id', 'DbForeignId', 'VARCHAR', false, 256, null); - $this->addForeignKey('file_id', 'DbFileId', 'INTEGER', 'cc_files', 'id', true, null, null); + $this->addForeignKey('file_id', 'DbFileId', 'INTEGER', 'cc_files', 'id', true, null, 0); $this->addColumn('upload_time', 'DbUploadTime', 'TIMESTAMP', false, null, null); $this->addColumn('status', 'DbStatus', 'VARCHAR', false, 256, null); // validators diff --git a/airtime_mvc/application/models/airtime/om/BaseThirdPartyTrackReferences.php b/airtime_mvc/application/models/airtime/om/BaseThirdPartyTrackReferences.php index a7860e1eb..662e287cb 100644 --- a/airtime_mvc/application/models/airtime/om/BaseThirdPartyTrackReferences.php +++ b/airtime_mvc/application/models/airtime/om/BaseThirdPartyTrackReferences.php @@ -49,6 +49,7 @@ abstract class BaseThirdPartyTrackReferences extends BaseObject implements Persi /** * The value for the file_id field. + * Note: this column has a database default value of: 0 * @var int */ protected $file_id; @@ -102,6 +103,27 @@ abstract class BaseThirdPartyTrackReferences extends BaseObject implements Persi */ protected $celeryTaskssScheduledForDeletion = null; + /** + * 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->file_id = 0; + } + + /** + * Initializes internal state of BaseThirdPartyTrackReferences object. + * @see applyDefaults() + */ + public function __construct() + { + parent::__construct(); + $this->applyDefaultValues(); + } + /** * Get the [id] column value. * @@ -334,6 +356,10 @@ abstract class BaseThirdPartyTrackReferences extends BaseObject implements Persi */ public function hasOnlyDefaultValues() { + if ($this->file_id !== 0) { + return false; + } + // otherwise, everything was equal, so return true return true; } // hasOnlyDefaultValues() @@ -1129,7 +1155,7 @@ abstract class BaseThirdPartyTrackReferences extends BaseObject implements Persi public function setCcFiles(CcFiles $v = null) { if ($v === null) { - $this->setDbFileId(NULL); + $this->setDbFileId(0); } else { $this->setDbFileId($v->getDbId()); } @@ -1427,6 +1453,7 @@ abstract class BaseThirdPartyTrackReferences extends BaseObject implements Persi $this->alreadyInValidation = false; $this->alreadyInClearAllReferencesDeep = false; $this->clearAllReferences(); + $this->applyDefaultValues(); $this->resetModified(); $this->setNew(true); $this->setDeleted(false); diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml index 387366b92..8c944ed10 100644 --- a/airtime_mvc/build/schema.xml +++ b/airtime_mvc/build/schema.xml @@ -543,7 +543,7 @@ - + diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql index c6719bdb7..f98e6a012 100644 --- a/airtime_mvc/build/sql/schema.sql +++ b/airtime_mvc/build/sql/schema.sql @@ -685,7 +685,7 @@ CREATE TABLE "third_party_track_references" "id" serial NOT NULL, "service" VARCHAR(256) NOT NULL, "foreign_id" VARCHAR(256), - "file_id" INTEGER NOT NULL, + "file_id" INTEGER DEFAULT 0 NOT NULL, "upload_time" TIMESTAMP, "status" VARCHAR(256), PRIMARY KEY ("id"),