56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?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 */
|
|
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);
|
|
}
|
|
}
|