Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
doctrine
/
dbal
/
src
/
Connection
:
Sequence.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types=1); namespace Doctrine\DBAL\Schema; use function count; use function sprintf; /** * Sequence structure. */ class Sequence extends AbstractAsset { protected int $allocationSize = 1; protected int $initialValue = 1; public function __construct( string $name, int $allocationSize = 1, int $initialValue = 1, protected ?int $cache = null, ) { $this->_setName($name); $this->setAllocationSize($allocationSize); $this->setInitialValue($initialValue); } public function getAllocationSize(): int { return $this->allocationSize; } public function getInitialValue(): int { return $this->initialValue; } public function getCache(): ?int { return $this->cache; } public function setAllocationSize(int $allocationSize): self { $this->allocationSize = $allocationSize; return $this; } public function setInitialValue(int $initialValue): self { $this->initialValue = $initialValue; return $this; } public function setCache(int $cache): self { $this->cache = $cache; return $this; } /** * Checks if this sequence is an autoincrement sequence for a given table. * * This is used inside the comparator to not report sequences as missing, * when the "from" schema implicitly creates the sequences. */ public function isAutoIncrementsFor(Table $table): bool { $primaryKey = $table->getPrimaryKey(); if ($primaryKey === null) { return false; } $pkColumns = $primaryKey->getColumns(); if (count($pkColumns) !== 1) { return false; } $column = $table->getColumn($pkColumns[0]); if (! $column->getAutoincrement()) { return false; } $sequenceName = $this->getShortestName($table->getNamespaceName()); $tableName = $table->getShortestName($table->getNamespaceName()); $tableSequenceName = sprintf('%s_%s_seq', $tableName, $column->getShortestName($table->getNamespaceName())); return $tableSequenceName === $sequenceName; } }