芝麻web文件管理V1.00
编辑当前文件:/home/mgatv524/bd.mgaplay.com.br/vendor/robmorgan/phinx/src/Phinx/Migration/Manager/Environment.php
name = $name; $this->options = $options; } /** * Executes the specified migration on this environment. * * @param \Phinx\Migration\MigrationInterface $migration Migration * @param string $direction Direction * @return void */ public function executeMigration(MigrationInterface $migration, $direction = MigrationInterface::UP) { $direction = ($direction === MigrationInterface::UP) ? MigrationInterface::UP : MigrationInterface::DOWN; $migration->setMigratingUp($direction === MigrationInterface::UP); $startTime = time(); $migration->setAdapter($this->getAdapter()); // begin the transaction if the adapter supports it if ($this->getAdapter()->hasTransactions()) { $this->getAdapter()->beginTransaction(); } // Run the migration if (method_exists($migration, MigrationInterface::CHANGE)) { if ($direction === MigrationInterface::DOWN) { // Create an instance of the ProxyAdapter so we can record all // of the migration commands for reverse playback /** @var \Phinx\Db\Adapter\ProxyAdapter $proxyAdapter */ $proxyAdapter = AdapterFactory::instance() ->getWrapper('proxy', $this->getAdapter()); $migration->setAdapter($proxyAdapter); /** @noinspection PhpUndefinedMethodInspection */ $migration->change(); $proxyAdapter->executeInvertedCommands(); $migration->setAdapter($this->getAdapter()); } else { /** @noinspection PhpUndefinedMethodInspection */ $migration->change(); } } else { $migration->{$direction}(); } // commit the transaction if the adapter supports it if ($this->getAdapter()->hasTransactions()) { $this->getAdapter()->commitTransaction(); } // Record it in the database $this->getAdapter()->migrated($migration, $direction, date('Y-m-d H:i:s', $startTime), date('Y-m-d H:i:s', time())); } /** * Executes the specified seeder on this environment. * * @param \Phinx\Seed\SeedInterface $seed * @return void */ public function executeSeed(SeedInterface $seed) { $seed->setAdapter($this->getAdapter()); // begin the transaction if the adapter supports it if ($this->getAdapter()->hasTransactions()) { $this->getAdapter()->beginTransaction(); } // Run the seeder if (method_exists($seed, SeedInterface::RUN)) { $seed->run(); } // commit the transaction if the adapter supports it if ($this->getAdapter()->hasTransactions()) { $this->getAdapter()->commitTransaction(); } } /** * Sets the environment's name. * * @param string $name Environment Name * @return \Phinx\Migration\Manager\Environment */ public function setName($name) { $this->name = $name; return $this; } /** * Gets the environment name. * * @return string */ public function getName() { return $this->name; } /** * Sets the environment's options. * * @param array $options Environment Options * @return \Phinx\Migration\Manager\Environment */ public function setOptions($options) { $this->options = $options; return $this; } /** * Gets the environment's options. * * @return array */ public function getOptions() { return $this->options; } /** * Sets the console input. * * @param \Symfony\Component\Console\Input\InputInterface $input * @return \Phinx\Migration\Manager\Environment */ public function setInput(InputInterface $input) { $this->input = $input; return $this; } /** * Gets the console input. * * @return \Symfony\Component\Console\Input\InputInterface */ public function getInput() { return $this->input; } /** * Sets the console output. * * @param \Symfony\Component\Console\Output\OutputInterface $output Output * @return \Phinx\Migration\Manager\Environment */ public function setOutput(OutputInterface $output) { $this->output = $output; return $this; } /** * Gets the console output. * * @return \Symfony\Component\Console\Output\OutputInterface */ public function getOutput() { return $this->output; } /** * Gets all migrated version numbers. * * @return array */ public function getVersions() { return $this->getAdapter()->getVersions(); } /** * Get all migration log entries, indexed by version creation time and sorted ascendingly by the configuration's * version_order option * * @return array */ public function getVersionLog() { return $this->getAdapter()->getVersionLog(); } /** * Sets the current version of the environment. * * @param int $version Environment Version * @return \Phinx\Migration\Manager\Environment */ public function setCurrentVersion($version) { $this->currentVersion = $version; return $this; } /** * Gets the current version of the environment. * * @return int */ public function getCurrentVersion() { // We don't cache this code as the current version is pretty volatile. // TODO - that means they're no point in a setter then? // maybe we should cache and call a reset() method everytime a migration is run $versions = $this->getVersions(); $version = 0; if (!empty($versions)) { $version = end($versions); } $this->setCurrentVersion($version); return $this->currentVersion; } /** * Sets the database adapter. * * @param \Phinx\Db\Adapter\AdapterInterface $adapter Database Adapter * @return \Phinx\Migration\Manager\Environment */ public function setAdapter(AdapterInterface $adapter) { $this->adapter = $adapter; return $this; } /** * Gets the database adapter. * * @return \Phinx\Db\Adapter\AdapterInterface */ public function getAdapter() { if (isset($this->adapter)) { return $this->adapter; } if (isset($this->options['connection'])) { if (!($this->options['connection'] instanceof \PDO)) { throw new \RuntimeException('The specified connection is not a PDO instance'); } $this->options['connection']->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $this->options['adapter'] = $this->options['connection']->getAttribute(\PDO::ATTR_DRIVER_NAME); } if (!isset($this->options['adapter'])) { throw new \RuntimeException('No adapter was specified for environment: ' . $this->getName()); } $factory = AdapterFactory::instance(); $adapter = $factory ->getAdapter($this->options['adapter'], $this->options); // Automatically time the executed commands $adapter = $factory->getWrapper('timed', $adapter); if (isset($this->options['wrapper'])) { $adapter = $factory ->getWrapper($this->options['wrapper'], $adapter); } if ($this->getInput()) { $adapter->setInput($this->getInput()); } if ($this->getOutput()) { $adapter->setOutput($this->getOutput()); } // Use the TablePrefixAdapter if table prefix/suffixes are in use if ($adapter->hasOption('table_prefix') || $adapter->hasOption('table_suffix')) { $adapter = AdapterFactory::instance() ->getWrapper('prefix', $adapter); } $this->setAdapter($adapter); return $adapter; } /** * Sets the schema table name. * * @param string $schemaTableName Schema Table Name * @return \Phinx\Migration\Manager\Environment */ public function setSchemaTableName($schemaTableName) { $this->schemaTableName = $schemaTableName; return $this; } /** * Gets the schema table name. * * @return string */ public function getSchemaTableName() { return $this->schemaTableName; } }