1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace Doctrine\DBAL\Schema;
- use function in_array;
- /**
- * Represents the change of a column.
- */
- class ColumnDiff
- {
- /** @var string */
- public $oldColumnName;
- /** @var Column */
- public $column;
- /** @var string[] */
- public $changedProperties = [];
- /** @var Column|null */
- public $fromColumn;
- /**
- * @param string $oldColumnName
- * @param string[] $changedProperties
- */
- public function __construct(
- $oldColumnName,
- Column $column,
- array $changedProperties = [],
- ?Column $fromColumn = null
- ) {
- $this->oldColumnName = $oldColumnName;
- $this->column = $column;
- $this->changedProperties = $changedProperties;
- $this->fromColumn = $fromColumn;
- }
- /**
- * @param string $propertyName
- *
- * @return bool
- */
- public function hasChanged($propertyName)
- {
- return in_array($propertyName, $this->changedProperties);
- }
- /**
- * @return Identifier
- */
- public function getOldColumnName()
- {
- $quote = $this->fromColumn && $this->fromColumn->isQuoted();
- return new Identifier($this->oldColumnName, $quote);
- }
- }
|