createMigrationTable() public method

Create the migration table to track migrations with.
public createMigrationTable ( ) : boolean
return boolean Whether or not the table was created.
示例#1
0
 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]);
 }
示例#2
0
 public function markNotMigrated()
 {
     $this->configuration->createMigrationTable();
     $this->connection->delete($this->configuration->getMigrationsTableName(), array('version' => $this->version));
 }
示例#3
0
 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;
 }
示例#5
0
 public function markNotMigrated()
 {
     $this->configuration->createMigrationTable();
     $this->connection->delete($this->configuration->getMigrationsTableName(), [$this->configuration->getMigrationsColumnName() => $this->version]);
 }
示例#6
0
 /**
  * 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;
 }