1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-05 05:55:15 +02:00

Merge branch 'develop-ascraeus' into develop

* develop-ascraeus:
  [ticket/12870] Add doc block
  [ticket/12870] Create the migrations table with a method in the migrator
  [ticket/12870] Add $config['version'] in phpbb_extension_manager_test
  [ticket/12870] Create the migrations table in db:migrate
This commit is contained in:
Andreas Fischer 2014-07-28 18:13:44 +02:00
commit 7d4b019266
5 changed files with 32 additions and 21 deletions

View File

@ -177,25 +177,9 @@ define('IN_DB_UPDATE', true);
// End startup code
// Make sure migrations have been installed.
$db_tools = $phpbb_container->get('dbal.tools');
if (!$db_tools->sql_table_exists($table_prefix . 'migrations'))
{
$db_tools->sql_create_table($table_prefix . 'migrations', array(
'COLUMNS' => array(
'migration_name' => array('VCHAR', ''),
'migration_depends_on' => array('TEXT', ''),
'migration_schema_done' => array('BOOL', 0),
'migration_data_done' => array('BOOL', 0),
'migration_data_state' => array('TEXT', ''),
'migration_start_time' => array('TIMESTAMP', 0),
'migration_end_time' => array('TIMESTAMP', 0),
),
'PRIMARY_KEY' => 'migration_name',
));
}
$migrator = $phpbb_container->get('migrator');
$migrator->create_migrations_table();
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$finder = $phpbb_extension_manager->get_finder();

View File

@ -53,6 +53,8 @@ class migrate extends \phpbb\console\command\command
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->migrator->create_migrations_table();
$this->load_migrations();
$orig_version = $this->config['version'];
while (!$this->migrator->finished())

View File

@ -767,4 +767,28 @@ class migrator
return $this->migrations;
}
/**
* Creates the migrations table if it does not exist.
* @return null
*/
public function create_migrations_table()
{
// Make sure migrations have been installed.
if (!$this->db_tools->sql_table_exists($this->table_prefix . 'migrations'))
{
$this->db_tools->sql_create_table($this->table_prefix . 'migrations', array(
'COLUMNS' => array(
'migration_name' => array('VCHAR', ''),
'migration_depends_on' => array('TEXT', ''),
'migration_schema_done' => array('BOOL', 0),
'migration_data_done' => array('BOOL', 0),
'migration_data_state' => array('TEXT', ''),
'migration_start_time' => array('TIMESTAMP', 0),
'migration_end_time' => array('TIMESTAMP', 0),
),
'PRIMARY_KEY' => 'migration_name',
));
}
}
}

View File

@ -77,11 +77,12 @@ class manager
{
$this->extensions = array();
// Do not try to load any extensions when installing or updating
// Do not try to load any extensions if the extension table
// does not exist or when installing or updating.
// Note: database updater invokes this code, and in 3.0
// there is no extension table therefore the rest of this function
// fails
if (defined('IN_INSTALL'))
if (defined('IN_INSTALL') || version_compare($this->config['version'], '3.1.0-dev', '<'))
{
return;
}

View File

@ -135,7 +135,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
protected function create_extension_manager($with_cache = true)
{
$config = new \phpbb\config\config(array());
$config = new \phpbb\config\config(array('version' => PHPBB_VERSION));
$db = $this->new_dbal();
$db_tools = new \phpbb\db\tools($db);
$phpbb_root_path = __DIR__ . './../../phpBB/';