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);
 | |
|     }
 | |
| }
 | 
