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"),