[ticket/12963] Load extensions migrations from /migration

PHPBB3-12963
This commit is contained in:
Tristan Darricau 2014-09-10 12:08:13 +02:00
parent ff872a7970
commit 72ee4b3a7c
3 changed files with 23 additions and 4 deletions

View file

@ -177,11 +177,11 @@ $migrator = $phpbb_container->get('migrator');
$migrator->create_migrations_table(); $migrator->create_migrations_table();
$phpbb_extension_manager = $phpbb_container->get('ext.manager'); $phpbb_extension_manager = $phpbb_container->get('ext.manager');
$finder = $phpbb_extension_manager->get_finder();
$migrations = $finder $migrations = $phpbb_extension_manager
->get_finder()
->core_path('phpbb/db/migration/data/') ->core_path('phpbb/db/migration/data/')
->extension_directory('/migrations') ->extension_directory('/migration')
->get_classes(); ->get_classes();
// @deprecated to be removed in 3.2 final // @deprecated to be removed in 3.2 final

View file

@ -117,8 +117,17 @@ class migrate extends \phpbb\console\command\command
$migrations = $this->extension_manager $migrations = $this->extension_manager
->get_finder() ->get_finder()
->core_path('phpbb/db/migration/data/') ->core_path('phpbb/db/migration/data/')
->extension_directory('/migration')
->get_classes();
// @deprecated to be removed in 3.2 final
$migrations_deprecated = $this->extension_manager
->get_finder()
->extension_directory('/migrations') ->extension_directory('/migrations')
->get_classes(); ->get_classes();
$migrations = array_merge($migrations, $migrations_deprecated);
$this->migrator->set_migrations($migrations); $this->migrator->set_migrations($migrations);
} }

View file

@ -132,9 +132,19 @@ class base implements \phpbb\extension\extension_interface
// Only have the finder search in this extension path directory // Only have the finder search in this extension path directory
$migrations = $this->extension_finder $migrations = $this->extension_finder
->extension_directory('/migration')
->find_from_extension($this->extension_name, $this->extension_path);
$migrations = $this->extension_finder->get_classes_from_files($migrations);
// @deprecated to be removed in 3.2 final
$migrations_deprecated = $this->extension_finder
->extension_directory('/migrations') ->extension_directory('/migrations')
->find_from_extension($this->extension_name, $this->extension_path); ->find_from_extension($this->extension_name, $this->extension_path);
$migrations = $this->extension_finder->get_classes_from_files($migrations);
$migrations_deprecated = $this->extension_finder->get_classes_from_files($migrations_deprecated);
$migrations = array_merge($migrations, $migrations_deprecated);
return $migrations; return $migrations;
} }