Create the migration table to track migrations with.
public createMigrationTable ( ) : boolean | ||
Résultat | boolean | Whether or not the table was created. |
private function markVersion($direction) { if ($direction == 'up') { $action = 'insert'; } else { $action = 'delete'; } $this->configuration->createMigrationTable(); $this->connection->{$action}($this->configuration->getMigrationsTableName(), [$this->configuration->getMigrationsColumnName() => $this->version]); }
public function markNotMigrated() { $this->configuration->createMigrationTable(); $this->connection->delete($this->configuration->getMigrationsTableName(), array('version' => $this->version)); }
public function markNotMigrated() { $this->configuration->createMigrationTable(); $this->connection->executeQuery("DELETE FROM " . $this->configuration->getMigrationsTableName() . " WHERE version = ?", array($this->version)); }
/** * Return the configuration needed for Migrations. * * @return Configuration */ protected function getMigrationConfiguration() { $this->output = array(); $that = $this; $outputWriter = new OutputWriter(function ($message) use($that) { $that->output[] = $message; }); /** @var \Doctrine\DBAL\Connection $connection */ $connection = $this->entityManager->getConnection(); $schemaManager = $connection->getSchemaManager(); if ($schemaManager->tablesExist(array('flow3_doctrine_migrationstatus')) === true) { $schemaManager->renameTable('flow3_doctrine_migrationstatus', self::DOCTRINE_MIGRATIONSTABLENAME); } $configuration = new Configuration($connection, $outputWriter); $configuration->setMigrationsNamespace('TYPO3\\Flow\\Persistence\\Doctrine\\Migrations'); $configuration->setMigrationsDirectory(Files::concatenatePaths(array(FLOW_PATH_DATA, 'DoctrineMigrations'))); $configuration->setMigrationsTableName(self::DOCTRINE_MIGRATIONSTABLENAME); $configuration->createMigrationTable(); $databasePlatformName = $this->getDatabasePlatformName(); /** @var PackageInterface $package */ foreach ($this->packageManager->getActivePackages() as $package) { $path = Files::concatenatePaths(array($package->getPackagePath(), 'Migrations', $databasePlatformName)); if (is_dir($path)) { $configuration->registerMigrationsFromDirectory($path); } } return $configuration; }
public function markNotMigrated() { $this->configuration->createMigrationTable(); $this->connection->delete($this->configuration->getMigrationsTableName(), [$this->configuration->getMigrationsColumnName() => $this->version]); }
/** * Return the configuration needed for Migrations. * * @return \Doctrine\DBAL\Migrations\Configuration\Configuration */ protected function getMigrationConfiguration() { if ($this->migrationConfiguration === null) { $this->output = array(); $that = $this; $outputWriter = new \Doctrine\DBAL\Migrations\OutputWriter(function ($message) use($that) { $that->output[] = $message; }); $connection = $this->entityManager->getConnection(); $migrationsDirectory = $this->getMigrationsDirectory(); $configuration = new \Doctrine\DBAL\Migrations\Configuration\Configuration($connection, $outputWriter); $configuration->setMigrationsNamespace($this->getMigrationsNameSpace()); $configuration->setMigrationsDirectory($migrationsDirectory); $configuration->setMigrationsTableName(Keys::MIGRATIONS_TABLENAME); $configuration->createMigrationTable(); $configuration->registerMigrationsFromDirectory($migrationsDirectory); $this->migrationConfiguration = $configuration; } return $this->migrationConfiguration; }