123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace Doctrine\DBAL\Event;
- use Doctrine\DBAL\Connection;
- use Doctrine\DBAL\Platforms\AbstractPlatform;
- use Doctrine\DBAL\Schema\Index;
- use Doctrine\Deprecations\Deprecation;
- /**
- * Event Arguments used when the portable index definition is generated inside {@link AbstractSchemaManager}.
- */
- class SchemaIndexDefinitionEventArgs extends SchemaEventArgs
- {
- /** @var Index|null */
- private $index;
- /**
- * Raw index data as fetched from the database.
- *
- * @var mixed[]
- */
- private $tableIndex;
- /** @var string */
- private $table;
- /** @var Connection */
- private $connection;
- /**
- * @param mixed[] $tableIndex
- * @param string $table
- */
- public function __construct(array $tableIndex, $table, Connection $connection)
- {
- $this->tableIndex = $tableIndex;
- $this->table = $table;
- $this->connection = $connection;
- }
- /**
- * Allows to clear the index which means the index will be excluded from tables index list.
- *
- * @return SchemaIndexDefinitionEventArgs
- */
- public function setIndex(?Index $index = null)
- {
- $this->index = $index;
- return $this;
- }
- /**
- * @return Index|null
- */
- public function getIndex()
- {
- return $this->index;
- }
- /**
- * @return mixed[]
- */
- public function getTableIndex()
- {
- return $this->tableIndex;
- }
- /**
- * @return string
- */
- public function getTable()
- {
- return $this->table;
- }
- /**
- * @return Connection
- */
- public function getConnection()
- {
- return $this->connection;
- }
- /**
- * @deprecated Use SchemaIndexDefinitionEventArgs::getConnection() and Connection::getDatabasePlatform() instead.
- *
- * @return AbstractPlatform
- */
- public function getDatabasePlatform()
- {
- Deprecation::trigger(
- 'doctrine/dbal',
- 'https://github.com/doctrine/dbal/issues/3580',
- 'SchemaIndexDefinitionEventArgs::getDatabasePlatform() is deprecated, ' .
- 'use SchemaIndexDefinitionEventArgs::getConnection()->getDatabasePlatform() instead.'
- );
- return $this->connection->getDatabasePlatform();
- }
- }
|