本文整理汇总了PHP中Column::isAutoIncrement方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::isAutoIncrement方法的具体用法?PHP Column::isAutoIncrement怎么用?PHP Column::isAutoIncrement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Column
的用法示例。
在下文中一共展示了Column::isAutoIncrement方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compareColumns
static function compareColumns(Column $fromColumn, Column $toColumn)
{
$changedProperties = array();
// compare column types
$fromDomain = $fromColumn->getDomain();
$toDomain = $toColumn->getDomain();
if ($fromDomain->getType() != $toDomain->getType()) {
$changedProperties['type'] = array($fromDomain->getType(), $toDomain->getType());
}
if ($fromDomain->getScale() != $toDomain->getScale()) {
$changedProperties['scale'] = array($fromDomain->getScale(), $toDomain->getScale());
}
if ($fromDomain->getSize() != $toDomain->getSize()) {
$changedProperties['size'] = array($fromDomain->getSize(), $toDomain->getSize());
}
if (strtoupper($fromDomain->getSqlType()) != strtoupper($toDomain->getSqlType())) {
$changedProperties['sqlType'] = array($fromDomain->getSqlType(), $toDomain->getSqlType());
}
if ($fromColumn->isNotNull() != $toColumn->isNotNull()) {
$changedProperties['notNull'] = array($fromColumn->isNotNull(), $toColumn->isNotNull());
}
// compare column default value
$fromDefaultValue = $fromColumn->getDefaultValue();
$toDefaultValue = $toColumn->getDefaultValue();
if ($fromDefaultValue && !$toDefaultValue) {
$changedProperties['defaultValueType'] = array($fromDefaultValue->getType(), null);
$changedProperties['defaultValueValue'] = array($fromDefaultValue->getValue(), null);
} elseif (!$fromDefaultValue && $toDefaultValue) {
$changedProperties['defaultValueType'] = array(null, $toDefaultValue->getType());
$changedProperties['defaultValueValue'] = array(null, $toDefaultValue->getValue());
} elseif ($fromDefaultValue && $toDefaultValue) {
if (!$fromDefaultValue->equals($toDefaultValue)) {
if ($fromDefaultValue->getType() != $toDefaultValue->getType()) {
$changedProperties['defaultValueType'] = array($fromDefaultValue->getType(), $toDefaultValue->getType());
}
if ($fromDefaultValue->getValue() != $toDefaultValue->getValue()) {
$changedProperties['defaultValueValue'] = array($fromDefaultValue->getValue(), $toDefaultValue->getValue());
}
}
}
if ($fromColumn->isAutoIncrement() != $toColumn->isAutoIncrement()) {
$changedProperties['autoIncrement'] = array($fromColumn->isAutoIncrement(), $toColumn->isAutoIncrement());
}
return $changedProperties;
}
示例2: getColumnDDL
public function getColumnDDL(Column $col)
{
$domain = $col->getDomain();
$ddl = array($this->quoteIdentifier($col->getName()));
$sqlType = $domain->getSqlType();
$table = $col->getTable();
if ($col->isAutoIncrement() && $table && $table->getIdMethodParameters() == null) {
$sqlType = $col->getType() === PropelTypes::BIGINT ? 'bigserial' : 'serial';
}
if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) {
$ddl[] = $sqlType . $domain->printSize();
} else {
$ddl[] = $sqlType;
}
if ($default = $this->getColumnDefaultValueDDL($col)) {
$ddl[] = $default;
}
if ($notNull = $this->getNullString($col->isNotNull())) {
$ddl[] = $notNull;
}
if ($autoIncrement = $col->getAutoIncrementString()) {
$ddl[] = $autoIncrement;
}
return implode(' ', $ddl);
}
示例3: checkAutoIncrement
/**
* Check auto increment column
*
* @param Column $column Table column
*
* @return array Result
*/
public function checkAutoIncrement(Column $column)
{
$result = [];
if ($column->isAutoIncrement() === true && $column->isPrimaryKey() === false) {
$result[] = ['type' => 'column', 'field' => $column->getField(), 'description' => 'Set as auto_increment but has no primary key'];
}
return $result;
}