abstract class container_aware_migration extends migration implements ContainerAwareInterface

Abstract base class for container aware database migrations.

Properties

protected config $config from  migration
protected driver_interface $db from  migration
protected tools_interface $db_tools from  migration
protected string $table_prefix from  migration
protected array $tables from  migration
protected string $phpbb_root_path from  migration
protected string $php_ext from  migration
protected array $errors from  migration
protected array $queries from  migration
protected ContainerInterface $container

Methods

__construct(config $config, driver_interface $db, tools_interface $db_tools, string $phpbb_root_path, string $php_ext, string $table_prefix, array $tables)

Constructor

static array
depends_on()

Defines other migrations to be applied first

bool
effectively_installed()

Allows you to check if the migration is effectively installed (entirely optional)

array
update_schema()

Updates the database schema by providing a set of change instructions

array
revert_schema()

Reverts the database schema by providing a set of change instructions

array
update_data()

Updates data by returning a list of instructions to be executed

array
revert_data()

Reverts data by returning a list of instructions to be executed

mixed
sql_query(string $sql)

Wrapper for running queries to generate user feedback on updates

array
get_queries()

Get the list of queries run

setContainer(ContainerInterface $container = null)

{@inheritdoc}

Details

in migration at line 63
__construct(config $config, driver_interface $db, tools_interface $db_tools, string $phpbb_root_path, string $php_ext, string $table_prefix, array $tables)

Constructor

Parameters

config $config
driver_interface $db
tools_interface $db_tools
string $phpbb_root_path
string $php_ext
string $table_prefix
array $tables

in migration at line 80
static array depends_on()

Defines other migrations to be applied first

Return Value

array

An array of migration class names

in migration at line 88
bool effectively_installed()

Allows you to check if the migration is effectively installed (entirely optional)

This is checked when a migration is installed. If true is returned, the migration will be set as installed without performing the database changes. This function is intended to help moving to migrations from a previous database updater, where some migrations may have been installed already even though they are not yet listed in the migrations table.

Return Value

bool

True if this migration is installed, False if this migration is not installed (checked on install)

in migration at line 96
array update_schema()

Updates the database schema by providing a set of change instructions

Return Value

array

Array of schema changes (compatible with db_tools->perform_schema_changes())

in migration at line 104
array revert_schema()

Reverts the database schema by providing a set of change instructions

Return Value

array

Array of schema changes (compatible with db_tools->perform_schema_changes())

in migration at line 112
array update_data()

Updates data by returning a list of instructions to be executed

Return Value

array

Array of data update instructions

in migration at line 120
array revert_data()

Reverts data by returning a list of instructions to be executed

Return Value

array

Array of data instructions that will be performed on revert NOTE: calls to tools (such as config.add) are automatically reverted when possible, so you should not attempt to revert those, this is mostly for otherwise unrevertable calls (custom functions for example)

in migration at line 131
protected mixed sql_query(string $sql)

Wrapper for running queries to generate user feedback on updates

Parameters

string $sql

SQL query to run on the database

Return Value

mixed

Query result from db->sql_query()

in migration at line 167
array get_queries()

Get the list of queries run

Return Value

array

at line 32
setContainer(ContainerInterface $container = null)

{@inheritdoc}

Parameters

ContainerInterface $container