Example #1
0
 public function testOverridenDefaults()
 {
     $config = new Config(['default_environment' => 'second', 'log_table_name' => 'custom_log_table_name', 'migration_dirs' => ['first_dir', 'second_dir'], 'environments' => ['first' => [], 'second' => []]]);
     $this->assertEquals('custom_log_table_name', $config->getLogTableName());
     $this->assertCount(2, $config->getMigrationDirs());
     $this->assertEquals('second', $config->getDefaultEnvironment());
     $this->assertInstanceOf('\\Phoenix\\Config\\EnvironmentConfig', $config->getEnvironmentConfig('first'));
     $this->assertInstanceOf('\\Phoenix\\Config\\EnvironmentConfig', $config->getEnvironmentConfig('second'));
 }
Example #2
0
 private function findMigrations($type)
 {
     $filesFinder = new FilesFinder();
     foreach ($this->config->getMigrationDirs() as $directory) {
         $filesFinder->addDirectory($directory);
     }
     $executedMigrations = $this->executedMigrations();
     $migrations = [];
     foreach ($filesFinder->getFiles() as $file) {
         require_once $file;
         $classNameCreator = new ClassNameCreator($file);
         $className = $classNameCreator->getClassName();
         $migrationIdentifier = $classNameCreator->getDatetime() . '|' . $className;
         if ($type == self::TYPE_UP && !isset($executedMigrations[$migrationIdentifier])) {
             $migrations[$migrationIdentifier] = new $className($this->adapter);
         } elseif ($type == self::TYPE_DOWN && isset($executedMigrations[$migrationIdentifier])) {
             $migrations[$migrationIdentifier] = new $className($this->adapter);
         }
     }
     ksort($migrations);
     return $migrations;
 }