提交代码
This commit is contained in:
148
vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php
vendored
Normal file
148
vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
namespace Doctrine\DBAL\Schema;
|
||||
|
||||
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||
|
||||
/**
|
||||
* Table Diff.
|
||||
*/
|
||||
class TableDiff
|
||||
{
|
||||
/** @var string */
|
||||
public $name = null;
|
||||
|
||||
/** @var string|bool */
|
||||
public $newName = false;
|
||||
|
||||
/**
|
||||
* All added fields.
|
||||
*
|
||||
* @var Column[]
|
||||
*/
|
||||
public $addedColumns;
|
||||
|
||||
/**
|
||||
* All changed fields.
|
||||
*
|
||||
* @var ColumnDiff[]
|
||||
*/
|
||||
public $changedColumns = [];
|
||||
|
||||
/**
|
||||
* All removed fields.
|
||||
*
|
||||
* @var Column[]
|
||||
*/
|
||||
public $removedColumns = [];
|
||||
|
||||
/**
|
||||
* Columns that are only renamed from key to column instance name.
|
||||
*
|
||||
* @var Column[]
|
||||
*/
|
||||
public $renamedColumns = [];
|
||||
|
||||
/**
|
||||
* All added indexes.
|
||||
*
|
||||
* @var Index[]
|
||||
*/
|
||||
public $addedIndexes = [];
|
||||
|
||||
/**
|
||||
* All changed indexes.
|
||||
*
|
||||
* @var Index[]
|
||||
*/
|
||||
public $changedIndexes = [];
|
||||
|
||||
/**
|
||||
* All removed indexes
|
||||
*
|
||||
* @var Index[]
|
||||
*/
|
||||
public $removedIndexes = [];
|
||||
|
||||
/**
|
||||
* Indexes that are only renamed but are identical otherwise.
|
||||
*
|
||||
* @var Index[]
|
||||
*/
|
||||
public $renamedIndexes = [];
|
||||
|
||||
/**
|
||||
* All added foreign key definitions
|
||||
*
|
||||
* @var ForeignKeyConstraint[]
|
||||
*/
|
||||
public $addedForeignKeys = [];
|
||||
|
||||
/**
|
||||
* All changed foreign keys
|
||||
*
|
||||
* @var ForeignKeyConstraint[]
|
||||
*/
|
||||
public $changedForeignKeys = [];
|
||||
|
||||
/**
|
||||
* All removed foreign keys
|
||||
*
|
||||
* @var ForeignKeyConstraint[]|string[]
|
||||
*/
|
||||
public $removedForeignKeys = [];
|
||||
|
||||
/** @var Table */
|
||||
public $fromTable;
|
||||
|
||||
/**
|
||||
* Constructs an TableDiff object.
|
||||
*
|
||||
* @param string $tableName
|
||||
* @param Column[] $addedColumns
|
||||
* @param ColumnDiff[] $changedColumns
|
||||
* @param Column[] $removedColumns
|
||||
* @param Index[] $addedIndexes
|
||||
* @param Index[] $changedIndexes
|
||||
* @param Index[] $removedIndexes
|
||||
*/
|
||||
public function __construct(
|
||||
$tableName,
|
||||
$addedColumns = [],
|
||||
$changedColumns = [],
|
||||
$removedColumns = [],
|
||||
$addedIndexes = [],
|
||||
$changedIndexes = [],
|
||||
$removedIndexes = [],
|
||||
?Table $fromTable = null
|
||||
) {
|
||||
$this->name = $tableName;
|
||||
$this->addedColumns = $addedColumns;
|
||||
$this->changedColumns = $changedColumns;
|
||||
$this->removedColumns = $removedColumns;
|
||||
$this->addedIndexes = $addedIndexes;
|
||||
$this->changedIndexes = $changedIndexes;
|
||||
$this->removedIndexes = $removedIndexes;
|
||||
$this->fromTable = $fromTable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param AbstractPlatform $platform The platform to use for retrieving this table diff's name.
|
||||
*
|
||||
* @return Identifier
|
||||
*/
|
||||
public function getName(AbstractPlatform $platform)
|
||||
{
|
||||
return new Identifier(
|
||||
$this->fromTable instanceof Table ? $this->fromTable->getQuotedName($platform) : $this->name
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Identifier|string|bool
|
||||
*/
|
||||
public function getNewName()
|
||||
{
|
||||
return $this->newName ? new Identifier($this->newName) : $this->newName;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user