public function getPrimaryKeys() { $cm = new \ColumnMap('id', new \TableMap()); $cm->setType('INTEGER'); $cm->setPhpName('Id'); return array('id' => $cm); }
public function testPrimaryStringAddConfiguredColumn() { $this->assertFalse($this->tmap->hasPrimaryStringColumn(), 'hasPrimaryStringColumn() returns false while none set.'); $column = new ColumnMap('BAR', $this->tmap); $column->setPhpName('Bar'); $column->setType('VARCHAR'); $column->setPrimaryString(true); $this->tmap->addConfiguredColumn($column); $this->assertTrue($this->tmap->hasPrimaryStringColumn(), 'hasPrimaryStringColumn() returns true after adding pkStr column.'); $this->assertEquals($column, $this->tmap->getPrimaryStringColumn(), 'getPrimaryStringColumn() returns correct column.'); }
/** * Add a column to the table. * * @param string name A String with the column name. * @param string $type A string specifying the Propel type. * @param boolean $isNotNull Whether column does not allow NULL values. * @param int $size An int specifying the size. * @param boolean $pk True if column is a primary key. * @param string $fkTable A String with the foreign key table name. * @param $fkColumn A String with the foreign key column name. * @param string $defaultValue The default value for this column. * @return ColumnMap The newly created column. */ public function addColumn($name, $phpName, $type, $isNotNull = false, $size = null, $defaultValue = null, $pk = false, $fkTable = null, $fkColumn = null) { $col = new ColumnMap($name, $this); $col->setType($type); $col->setSize($size); $col->setPhpName($phpName); $col->setNotNull($isNotNull); $col->setDefaultValue($defaultValue); if ($pk) { $col->setPrimaryKey(true); $this->primaryKeys[$name] = $col; } if ($fkTable && $fkColumn) { $col->setForeignKey($fkTable, $fkColumn); $this->foreignKeys[$name] = $col; } $this->columns[$name] = $col; $this->columnsByPhpName[$phpName] = $col; return $col; }
/** * Add a column to the table. * * @param string name A String with the column name. * @param string $type A string specifying the Propel type. * @param boolean $isNotNull Whether column does not allow NULL values. * @param int $size An int specifying the size. * @param boolean $pk True if column is a primary key. * @param string $fkTable A String with the foreign key table name. * @param $fkColumn A String with the foreign key column name. * @param string $defaultValue The default value for this column. * @return ColumnMap The newly created column. */ public function addColumn($name, $phpName, $type, $isNotNull = false, $size = null, $pk = null, $fkTable = null, $fkColumn = null) { $col = new ColumnMap($name, $this); if ($fkTable && $fkColumn) { if (strpos($fkColumn, '.') > 0 && strpos($fkColumn, $fkTable) !== false) { $fkColumn = substr($fkColumn, strlen($fkTable) + 1); } $col->setForeignKey($fkTable, $fkColumn); } $col->setType($type); $col->setPrimaryKey($pk); $col->setSize($size); $col->setPhpName($phpName); $col->setNotNull($isNotNull); $this->columns[$name] = $col; return $this->columns[$name]; }
public function validFieldNameProvider() { $className = '\\Foo\\Book'; $options = array('foo' => 'bar'); // table maps $emptyTableMap = new \TableMap(); $authorTable = new \TableMap(); $authorTable->setClassName('\\Foo\\Author'); $resellerTable = new \TableMap(); $resellerTable->setClassName('\\Foo\\Reseller'); $relationsTableMap = $this->getMock('\\TableMap'); // relations $mainAuthorRelation = new \RelationMap('MainAuthor'); $mainAuthorRelation->setType(\RelationMap::MANY_TO_ONE); $mainAuthorRelation->setForeignTable($authorTable); $authorRelation = new \RelationMap('Author'); $authorRelation->setType(\RelationMap::ONE_TO_MANY); $authorRelation->setForeignTable($authorTable); $resellerRelation = new \RelationMap('Reseller'); $resellerRelation->setType(\RelationMap::MANY_TO_MANY); $resellerRelation->setLocalTable($resellerTable); // configure table maps mocks $relationsTableMap->expects($this->any())->method('getRelations')->will($this->returnValue(array($mainAuthorRelation, $authorRelation, $resellerRelation))); // columns $titleColumn = new \ColumnMap('Title', $emptyTableMap); $titleColumn->setType('text'); $titleColumn->setPhpName('Title'); $titleFieldMapping = array('id' => false, 'type' => 'text', 'fieldName' => 'Title'); return array(array(null, array(), $className, 'Title', $options, array('type' => null, 'association_mapping' => null, 'field_mapping' => null)), array($emptyTableMap, array(), $className, 'Title', $options, array('type' => null, 'association_mapping' => null, 'field_mapping' => null)), array($emptyTableMap, array($titleColumn), $className, 'Title', $options, array('type' => 'text', 'association_mapping' => null, 'field_mapping' => $titleFieldMapping)), array($relationsTableMap, array($titleColumn), $className, 'MainAuthor', $options, array('type' => \RelationMap::MANY_TO_ONE, 'association_mapping' => array('targetEntity' => '\\Foo\\Author', 'type' => \RelationMap::MANY_TO_ONE), 'field_mapping' => null)), array($relationsTableMap, array($titleColumn), $className, 'Authors', $options, array('type' => \RelationMap::ONE_TO_MANY, 'association_mapping' => array('targetEntity' => '\\Foo\\Author', 'type' => \RelationMap::ONE_TO_MANY), 'field_mapping' => null)), array($relationsTableMap, array($titleColumn), $className, 'Resellers', $options, array('type' => \RelationMap::MANY_TO_MANY, 'association_mapping' => array('targetEntity' => '\\Foo\\Reseller', 'type' => \RelationMap::MANY_TO_MANY), 'field_mapping' => null))); }