/**
* Constructor.
*
- * @param string $direction
- * @param string $migrationsPath
- * @param integer $targetVersion
+ * @param Horde_Db_Adapter $connection A DB connection object.
+ * @param Horde_Log_Logger $logger A logger object.
+ * @param array $options Additional options for the migrator:
+ * - migrationsPath: directory with the
+ * migration files.
+ * - schemaTableName: table for storing
+ * the schema version.
*
* @throws Horde_Db_Migration_Exception
*/
*/
protected function _getMigrationFiles()
{
- $files = glob($this->_migrationsPath . '/[0-9]*_*.php');
- return $this->_isDown() ? array_reverse($files) : $files;
+ return array_keys(
+ iterator_to_array(
+ new RegexIterator(
+ new RecursiveIteratorIterator(
+ new RecursiveDirectoryIterator(
+ $this->_migrationsPath,
+ FilesystemIterator::SKIP_DOTS
+ )
+ ),
+ '/\/\d+_.*\.php$/',
+ RecursiveRegexIterator::MATCH,
+ RegexIterator::USE_KEY
+ )
+ )
+ );
}
/**