Viewing file: ColumnDiff.php (4.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Doctrine\DBAL\Schema;
use Doctrine\Deprecations\Deprecation;
use function in_array;
/** * Represents the change of a column. */ class ColumnDiff { /** * @deprecated Use {@see $fromColumn} and {@see Column::getName()} instead. * * @var string */ public $oldColumnName;
/** * @internal Use {@see getNewColumn()} instead. * * @var Column */ public $column;
/** * @deprecated Use {@see hasTypeChanged()}, {@see hasLengthChanged()}, {@see hasPrecisionChanged()}, * {@see hasScaleChanged()}, {@see hasUnsignedChanged()}, {@see hasFixedChanged()}, {@see hasNotNullChanged()}, * {@see hasDefaultChanged()}, {@see hasAutoIncrementChanged()} or {@see hasCommentChanged()} instead. * * @var string[] */ public $changedProperties = [];
/** * @internal Use {@see getOldColumn()} instead. * * @var Column|null */ public $fromColumn;
/** * @internal The diff can be only instantiated by a {@see Comparator}. * * @param string $oldColumnName * @param string[] $changedProperties */ public function __construct( $oldColumnName, Column $column, array $changedProperties = [], ?Column $fromColumn = null ) { if ($fromColumn === null) { Deprecation::triggerIfCalledFromOutside( 'doctrine/dbal', 'https://github.com/doctrine/dbal/pull/4785', 'Not passing the $fromColumn to %s is deprecated.', __METHOD__, ); }
$this->oldColumnName = $oldColumnName; $this->column = $column; $this->changedProperties = $changedProperties; $this->fromColumn = $fromColumn; }
public function getOldColumn(): ?Column { return $this->fromColumn; }
public function getNewColumn(): Column { return $this->column; }
public function hasTypeChanged(): bool { return $this->hasChanged('type'); }
public function hasLengthChanged(): bool { return $this->hasChanged('length'); }
public function hasPrecisionChanged(): bool { return $this->hasChanged('precision'); }
public function hasScaleChanged(): bool { return $this->hasChanged('scale'); }
public function hasUnsignedChanged(): bool { return $this->hasChanged('unsigned'); }
public function hasFixedChanged(): bool { return $this->hasChanged('fixed'); }
public function hasNotNullChanged(): bool { return $this->hasChanged('notnull'); }
public function hasDefaultChanged(): bool { return $this->hasChanged('default'); }
public function hasAutoIncrementChanged(): bool { return $this->hasChanged('autoincrement'); }
public function hasCommentChanged(): bool { return $this->hasChanged('comment'); }
/** * @deprecated Use {@see hasTypeChanged()}, {@see hasLengthChanged()}, {@see hasPrecisionChanged()}, * {@see hasScaleChanged()}, {@see hasUnsignedChanged()}, {@see hasFixedChanged()}, {@see hasNotNullChanged()}, * {@see hasDefaultChanged()}, {@see hasAutoIncrementChanged()} or {@see hasCommentChanged()} instead. * * @param string $propertyName * * @return bool */ public function hasChanged($propertyName) { return in_array($propertyName, $this->changedProperties, true); }
/** * @deprecated Use {@see $fromColumn} instead. * * @return Identifier */ public function getOldColumnName() { Deprecation::trigger( 'doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5622', '%s is deprecated. Use $fromColumn instead.', __METHOD__, );
if ($this->fromColumn !== null) { $name = $this->fromColumn->getName(); $quote = $this->fromColumn->isQuoted(); } else { $name = $this->oldColumnName; $quote = false; }
return new Identifier($name, $quote); } }
|