/
var
/
www
/
vhosts
/
ihelp.ro
/
_OLD
/
vendor
/
robmorgan
/
phinx
/
src
/
Phinx
/
Db
/
Util
/
/var/www/vhosts/ihelp.ro/_OLD/vendor/robmorgan/phinx/src/Phinx/Db/Util
mkdir
upload
Name
Size
Mode
Actions
AlterInstructions.php
3398
0644
edit
dl
rm
Edit:
/var/www/vhosts/ihelp.ro/_OLD/vendor/robmorgan/phinx/src/Phinx/Db/Util/AlterInstructions.php
(3398B)
<?php /** * MIT License * For full license information, please view the LICENSE file that was distributed with this source code. */ namespace Phinx\Db\Util; /** * Contains all the information for running an ALTER command for a table, * and any post-steps required after the fact. */ class AlterInstructions { /** * @var string[] The SQL snippets to be added to an ALTER instruction */ protected $alterParts = []; /** * @var (string|callable)[] The SQL commands to be executed after the ALTER instruction */ protected $postSteps = []; /** * Constructor * * @param string[] $alterParts SQL snippets to be added to a single ALTER instruction per table * @param (string|callable)[] $postSteps SQL commands to be executed after the ALTER instruction */ public function __construct(array $alterParts = [], array $postSteps = []) { $this->alterParts = $alterParts; $this->postSteps = $postSteps; } /** * Adds another part to the single ALTER instruction * * @param string $part The SQL snipped to add as part of the ALTER instruction * * @return void */ public function addAlter($part) { $this->alterParts[] = $part; } /** * Adds a SQL command to be executed after the ALTER instruction. * This method allows a callable, with will get an empty array as state * for the first time and will pass the return value of the callable to * the next callable, if present. * * This allows to keep a single state across callbacks. * * @param string|callable $sql The SQL to run after, or a callable to execute * * @return void */ public function addPostStep($sql) { $this->postSteps[] = $sql; } /** * Returns the alter SQL snippets * * @return string[] */ public function getAlterParts() { return $this->alterParts; } /** * Returns the SQL commands to run after the ALTER instruction * * @return (string|callable)[] */ public function getPostSteps() { return $this->postSteps; } /** * Merges another AlterInstructions object to this one * * @param \Phinx\Db\Util\AlterInstructions $other The other collection of instructions to merge in * * @return void */ public function merge(AlterInstructions $other) { $this->alterParts = array_merge($this->alterParts, $other->getAlterParts()); $this->postSteps = array_merge($this->postSteps, $other->getPostSteps()); } /** * Executes the ALTER instruction and all of the post steps. * * @param string $alterTemplate The template for the alter instruction * @param callable $executor The function to be used to execute all instructions * * @return void */ public function execute($alterTemplate, callable $executor) { if ($this->alterParts) { $alter = sprintf($alterTemplate, implode(', ', $this->alterParts)); $executor($alter); } $state = []; foreach ($this->postSteps as $instruction) { if (is_callable($instruction)) { $state = $instruction($state); continue; } $executor($instruction); } } }
Save
cmd:
run