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')); }
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; }