setName('podcast'); $this->setPhpName('Podcast'); $this->setClassname('Podcast'); $this->setPackage('airtime'); $this->setUseIdGenerator(true); $this->setPrimaryKeyMethodInfo('podcast_id_seq'); // columns $this->addPrimaryKey('id', 'DbId', 'INTEGER', true, null, null); $this->addColumn('title', 'DbTitle', 'VARCHAR', true, 4096, null); $this->addColumn('creator', 'DbCreator', 'VARCHAR', false, 4096, null); $this->addColumn('description', 'DbDescription', 'VARCHAR', false, 4096, null); $this->addColumn('language', 'DbLanguage', 'VARCHAR', false, 4096, null); $this->addColumn('copyright', 'DbCopyright', 'VARCHAR', false, 4096, null); $this->addColumn('link', 'DbLink', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_author', 'DbItunesAuthor', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_keywords', 'DbItunesKeywords', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_summary', 'DbItunesSummary', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_subtitle', 'DbItunesSubtitle', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_category', 'DbItunesCategory', 'VARCHAR', false, 4096, null); $this->addColumn('itunes_explicit', 'DbItunesExplicit', 'VARCHAR', false, 4096, null); $this->addForeignKey('owner', 'DbOwner', 'INTEGER', 'cc_subjs', 'id', false, null, null); $this->addColumn('descendant_class', 'DescendantClass', 'VARCHAR', false, 100, null); // validators } // initialize() /** * Build the RelationMap objects for this table relationships */ public function buildRelations() { $this->addRelation('CcSubjs', 'CcSubjs', RelationMap::MANY_TO_ONE, array('owner' => 'id', ), 'CASCADE', null); $this->addRelation('PodcastEpisodes', 'PodcastEpisodes', RelationMap::ONE_TO_MANY, array('id' => 'podcast_id', ), 'CASCADE', null, 'PodcastEpisodess'); $this->addRelation('StationPodcast', 'StationPodcast', RelationMap::ONE_TO_ONE, array('id' => 'id', ), 'CASCADE', null); $this->addRelation('ImportedPodcast', 'ImportedPodcast', RelationMap::ONE_TO_ONE, array('id' => 'id', ), 'CASCADE', null); } // buildRelations() /** * * Gets the list of behaviors registered for this table * * @return array Associative array (name => parameters) of behaviors */ public function getBehaviors() { return array( 'concrete_inheritance_parent' => array ( 'descendant_column' => 'descendant_class', ), ); } // getBehaviors() } // PodcastTableMap