aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/config/db.yml1
-rw-r--r--phpBB/phpbb/db/migration/container_aware_migration.php36
-rw-r--r--phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php18
-rw-r--r--phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php18
-rw-r--r--phpBB/phpbb/db/migration/profilefield_base_migration.php18
-rw-r--r--tests/test_framework/phpbb_functional_test_case.php4
6 files changed, 45 insertions, 50 deletions
diff --git a/phpBB/config/db.yml b/phpBB/config/db.yml
index b3f1b485ea..d11669d8a3 100644
--- a/phpBB/config/db.yml
+++ b/phpBB/config/db.yml
@@ -18,6 +18,7 @@ services:
migrator:
class: phpbb\db\migrator
arguments:
+ - @service_container
- @config
- @dbal.conn
- @dbal.tools
diff --git a/phpBB/phpbb/db/migration/container_aware_migration.php b/phpBB/phpbb/db/migration/container_aware_migration.php
new file mode 100644
index 0000000000..3b4b49b04b
--- /dev/null
+++ b/phpBB/phpbb/db/migration/container_aware_migration.php
@@ -0,0 +1,36 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+
+namespace phpbb\db\migration;
+
+use Symfony\Component\DependencyInjection\ContainerAwareInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+* Abstract base class for container aware database migrations.
+*/
+abstract class container_aware_migration extends migration implements ContainerAwareInterface
+{
+ /**
+ * @var ContainerInterface
+ */
+ protected $container;
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setContainer(ContainerInterface $container = null)
+ {
+ $this->container = $container;
+ }
+}
diff --git a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php
index dc79071e16..c3e887841f 100644
--- a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php
+++ b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php
@@ -13,16 +13,10 @@
namespace phpbb\db\migration\data\v30x;
-use Symfony\Component\DependencyInjection\ContainerAwareInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use phpbb\db\migration\container_aware_migration;
-class release_3_0_5_rc1 extends \phpbb\db\migration\migration implements ContainerAwareInterface
+class release_3_0_5_rc1 extends container_aware_migration
{
- /**
- * @var ContainerInterface
- */
- protected $container;
-
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.0.5-RC1', '>=');
@@ -136,12 +130,4 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration implements Contain
}
}
}
-
- /**
- * {@inheritdoc}
- */
- public function setContainer(ContainerInterface $container = null)
- {
- $this->container = $container;
- }
}
diff --git a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php
index c21b75b881..85b90da5fa 100644
--- a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php
+++ b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php
@@ -13,21 +13,15 @@
namespace phpbb\db\migration\data\v310;
-use Symfony\Component\DependencyInjection\ContainerAwareInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use phpbb\db\migration\container_aware_migration;
/**
* Migration to convert the Soft Delete MOD for 3.0
*
* https://www.phpbb.com/customise/db/mod/soft_delete/
*/
-class soft_delete_mod_convert extends \phpbb\db\migration\migration implements ContainerAwareInterface
+class soft_delete_mod_convert extends container_aware_migration
{
- /**
- * @var ContainerInterface
- */
- protected $container;
-
static public function depends_on()
{
return array(
@@ -130,12 +124,4 @@ class soft_delete_mod_convert extends \phpbb\db\migration\migration implements C
{
return $this->container->get('content.visibility');
}
-
- /**
- * {@inheritdoc}
- */
- public function setContainer(ContainerInterface $container = null)
- {
- $this->container = $container;
- }
}
diff --git a/phpBB/phpbb/db/migration/profilefield_base_migration.php b/phpBB/phpbb/db/migration/profilefield_base_migration.php
index 02954d109c..da1a38e2fa 100644
--- a/phpBB/phpbb/db/migration/profilefield_base_migration.php
+++ b/phpBB/phpbb/db/migration/profilefield_base_migration.php
@@ -13,10 +13,7 @@
namespace phpbb\db\migration;
-use Symfony\Component\DependencyInjection\ContainerAwareInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-abstract class profilefield_base_migration extends \phpbb\db\migration\migration implements ContainerAwareInterface
+abstract class profilefield_base_migration extends container_aware_migration
{
protected $profilefield_name;
@@ -43,11 +40,6 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration
protected $user_column_name;
- /**
- * @var ContainerInterface
- */
- protected $container;
-
public function effectively_installed()
{
return $this->db_tools->sql_column_exists($this->table_prefix . 'profile_fields_data', 'pf_' . $this->profilefield_name);
@@ -251,12 +243,4 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration
return $profile_row;
}
-
- /**
- * {@inheritdoc}
- */
- public function setContainer(ContainerInterface $container = null)
- {
- $this->container = $container;
- }
}
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php
index 51bae7a723..6c045712ab 100644
--- a/tests/test_framework/phpbb_functional_test_case.php
+++ b/tests/test_framework/phpbb_functional_test_case.php
@@ -227,7 +227,9 @@ class phpbb_functional_test_case extends phpbb_test_case
$db = $this->get_db();
$db_tools = new \phpbb\db\tools($db);
+ $container = new phpbb_mock_container_builder();
$migrator = new \phpbb\db\migrator(
+ $container,
$config,
$db,
$db_tools,
@@ -238,8 +240,8 @@ class phpbb_functional_test_case extends phpbb_test_case
array(),
new \phpbb\db\migration\helper()
);
- $container = new phpbb_mock_container_builder();
$container->set('migrator', $migrator);
+ $container->set('dispatcher', new phpbb_mock_event_dispatcher());
$user = new \phpbb\user('\phpbb\datetime');
$extension_manager = new \phpbb\extension\manager(