本文整理汇总了PHP中Phinx\Db\Table\Column::setName方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::setName方法的具体用法?PHP Column::setName怎么用?PHP Column::setName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phinx\Db\Table\Column
的用法示例。
在下文中一共展示了Column::setName方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getColumns
/**
* {@inheritdoc}
*/
public function getColumns($tableName)
{
$columns = array();
$sql = sprintf("SELECT DISTINCT TABLE_SCHEMA AS [schema], TABLE_NAME as [table_name], COLUMN_NAME AS [name], DATA_TYPE AS [type],\n IS_NULLABLE AS [null], COLUMN_DEFAULT AS [default],\n CHARACTER_MAXIMUM_LENGTH AS [char_length],\n NUMERIC_PRECISION AS [precision],\n NUMERIC_SCALE AS [scale], ORDINAL_POSITION AS [ordinal_position],\n COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') as [identity]\n FROM INFORMATION_SCHEMA.COLUMNS\n WHERE TABLE_NAME = '%s'\n ORDER BY ordinal_position", $tableName);
$rows = $this->fetchAll($sql);
foreach ($rows as $columnInfo) {
$column = new Column();
$column->setName($columnInfo['name'])->setType($this->getPhinxType($columnInfo['type']))->setNull($columnInfo['null'] !== 'NO')->setDefault($this->parseDefault($columnInfo['default']))->setIdentity($columnInfo['identity'] === '1')->setComment($this->getColumnComment($columnInfo['table_name'], $columnInfo['name']));
if (!empty($columnInfo['char_length'])) {
$column->setLimit($columnInfo['char_length']);
}
$columns[$columnInfo['name']] = $column;
}
return $columns;
}
示例2: getColumns
/**
* {@inheritdoc}
*/
public function getColumns($tableName)
{
$columns = array();
$sql = sprintf("SELECT column_name, data_type, is_identity, is_nullable,\n column_default, character_maximum_length, numeric_precision, numeric_scale\n FROM information_schema.columns\n WHERE table_name ='%s'", $tableName);
$columnsInfo = $this->fetchAll($sql);
foreach ($columnsInfo as $columnInfo) {
$column = new Column();
$column->setName($columnInfo['column_name'])->setType($this->getPhinxType($columnInfo['data_type']))->setNull($columnInfo['is_nullable'] === 'YES')->setDefault($columnInfo['column_default'])->setIdentity($columnInfo['is_identity'] === 'YES')->setPrecision($columnInfo['numeric_precision'])->setScale($columnInfo['numeric_scale']);
if (preg_match('/\\bwith time zone$/', $columnInfo['data_type'])) {
$column->setTimezone(true);
}
if (isset($columnInfo['character_maximum_length'])) {
$column->setLimit($columnInfo['character_maximum_length']);
}
$columns[] = $column;
}
return $columns;
}
示例3: getColumns
/**
* {@inheritdoc}
*/
public function getColumns($tableName)
{
$columns = array();
$rows = $this->fetchAll(sprintf('SHOW COLUMNS FROM %s', $this->quoteTableName($tableName)));
foreach ($rows as $columnInfo) {
$phinxType = $this->getPhinxType($columnInfo['Type']);
$column = new Column();
$column->setName($columnInfo['Field'])->setNull($columnInfo['Null'] !== 'NO')->setDefault($columnInfo['Default'])->setType($phinxType['name'])->setLimit($phinxType['limit']);
if ($columnInfo['Extra'] === 'auto_increment') {
$column->setIdentity(true);
}
$columns[] = $column;
}
return $columns;
}
示例4: addColumn
/**
* Add a table column.
*
* Type can be: string, text, integer, float, decimal, datetime, timestamp,
* time, date, binary, boolean.
*
* Valid options can be: limit, default, null, precision or scale.
*
* @param string|Column $columnName Column Name
* @param string $type Column Type
* @param array $options Column Options
* @throws \RuntimeException
* @throws \InvalidArgumentException
* @return Table
*/
public function addColumn($columnName, $type = null, $options = array())
{
// we need an adapter set to add a column
if (null === $this->getAdapter()) {
throw new \RuntimeException('An adapter must be specified to add a column.');
}
// create a new column object if only strings were supplied
if (!$columnName instanceof Column) {
$column = new Column();
$column->setName($columnName);
$column->setType($type);
$column->setOptions($options);
// map options to column methods
} else {
$column = $columnName;
}
// Delegate to Adapters to check column type
if (!$this->getAdapter()->isValidColumnType($column)) {
throw new \InvalidArgumentException(sprintf('An invalid column type "%s" was specified for column "%s".', $column->getType(), $column->getName()));
}
$this->columns[] = $column;
return $this;
}
示例5: getColumns
/**
* {@inheritdoc}
*/
public function getColumns($tableName)
{
$columns = array();
$rows = $this->fetchAll(sprintf('pragma table_info(%s)', $this->quoteTableName($tableName)));
foreach ($rows as $columnInfo) {
$column = new Column();
$type = strtolower($columnInfo['type']);
$column->setName($columnInfo['name'])->setNull($columnInfo['notnull'] != '1')->setDefault($columnInfo['dflt_value']);
$phinxType = $this->getPhinxType($type);
$column->setType($phinxType['name'])->setLimit($phinxType['limit']);
if ($columnInfo['pk'] == 1) {
$column->setIdentity(true);
}
$columns[] = $column;
}
return $columns;
}
示例6: setName
/**
* Sets the column name.
*
* @param string $name
*
* @return $this
*/
public function setName($name)
{
$this->column->setName($name);
return $this;
}