From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/doctrine/dbal/src/Schema/TableDiff.php | 164 ++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 vendor/doctrine/dbal/src/Schema/TableDiff.php (limited to 'vendor/doctrine/dbal/src/Schema/TableDiff.php') diff --git a/vendor/doctrine/dbal/src/Schema/TableDiff.php b/vendor/doctrine/dbal/src/Schema/TableDiff.php new file mode 100644 index 0000000..1cd59e8 --- /dev/null +++ b/vendor/doctrine/dbal/src/Schema/TableDiff.php @@ -0,0 +1,164 @@ + $droppedForeignKeys + * @param array $addedColumns + * @param array $modifiedColumns + * @param array $droppedColumns + * @param array $renamedColumns + * @param array $addedIndexes + * @param array $modifiedIndexes + * @param array $droppedIndexes + * @param array $renamedIndexes + * @param array $addedForeignKeys + * @param array $modifiedForeignKeys + */ + public function __construct( + private readonly Table $oldTable, + private readonly array $addedColumns, + private readonly array $modifiedColumns, + private readonly array $droppedColumns, + private readonly array $renamedColumns, + private array $addedIndexes, + private readonly array $modifiedIndexes, + private array $droppedIndexes, + private readonly array $renamedIndexes, + private readonly array $addedForeignKeys, + private readonly array $modifiedForeignKeys, + private readonly array $droppedForeignKeys, + ) { + } + + public function getOldTable(): Table + { + return $this->oldTable; + } + + /** @return array */ + public function getAddedColumns(): array + { + return $this->addedColumns; + } + + /** @return array */ + public function getModifiedColumns(): array + { + return $this->modifiedColumns; + } + + /** @return array */ + public function getDroppedColumns(): array + { + return $this->droppedColumns; + } + + /** @return array */ + public function getRenamedColumns(): array + { + return $this->renamedColumns; + } + + /** @return array */ + public function getAddedIndexes(): array + { + return $this->addedIndexes; + } + + /** + * @internal This method exists only for compatibility with the current implementation of schema managers + * that modify the diff while processing it. + */ + public function unsetAddedIndex(Index $index): void + { + $this->addedIndexes = array_filter( + $this->addedIndexes, + static function (Index $addedIndex) use ($index): bool { + return $addedIndex !== $index; + }, + ); + } + + /** @return array */ + public function getModifiedIndexes(): array + { + return $this->modifiedIndexes; + } + + /** @return array */ + public function getDroppedIndexes(): array + { + return $this->droppedIndexes; + } + + /** + * @internal This method exists only for compatibility with the current implementation of schema managers + * that modify the diff while processing it. + */ + public function unsetDroppedIndex(Index $index): void + { + $this->droppedIndexes = array_filter( + $this->droppedIndexes, + static function (Index $droppedIndex) use ($index): bool { + return $droppedIndex !== $index; + }, + ); + } + + /** @return array */ + public function getRenamedIndexes(): array + { + return $this->renamedIndexes; + } + + /** @return array */ + public function getAddedForeignKeys(): array + { + return $this->addedForeignKeys; + } + + /** @return array */ + public function getModifiedForeignKeys(): array + { + return $this->modifiedForeignKeys; + } + + /** @return array */ + public function getDroppedForeignKeys(): array + { + return $this->droppedForeignKeys; + } + + /** + * Returns whether the diff is empty (contains no changes). + */ + public function isEmpty(): bool + { + return count($this->addedColumns) === 0 + && count($this->modifiedColumns) === 0 + && count($this->droppedColumns) === 0 + && count($this->renamedColumns) === 0 + && count($this->addedIndexes) === 0 + && count($this->modifiedIndexes) === 0 + && count($this->droppedIndexes) === 0 + && count($this->renamedIndexes) === 0 + && count($this->addedForeignKeys) === 0 + && count($this->modifiedForeignKeys) === 0 + && count($this->droppedForeignKeys) === 0; + } +} -- cgit v1.2.3