diff options
author | Nils Adermann <naderman@naderman.de> | 2011-08-07 19:10:38 -0400 |
---|---|---|
committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-01-09 16:39:59 -0600 |
commit | d304b6449db6e7c6f3c9058062aca0c641f023a4 (patch) | |
tree | 49e4db234f5488211c78aa67b887d7a08f8e4b36 /phpBB/includes/db | |
parent | f817e20f287a21e2dddfba9721f5e02dce162d29 (diff) | |
download | forums-d304b6449db6e7c6f3c9058062aca0c641f023a4.tar forums-d304b6449db6e7c6f3c9058062aca0c641f023a4.tar.gz forums-d304b6449db6e7c6f3c9058062aca0c641f023a4.tar.bz2 forums-d304b6449db6e7c6f3c9058062aca0c641f023a4.tar.xz forums-d304b6449db6e7c6f3c9058062aca0c641f023a4.zip |
[feature/migrations] Store start and end time of migrations
PHPBB3-9737
Diffstat (limited to 'phpBB/includes/db')
-rw-r--r-- | phpBB/includes/db/migrator.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/phpBB/includes/db/migrator.php b/phpBB/includes/db/migrator.php index d5d938ca28..f4613e3aec 100644 --- a/phpBB/includes/db/migrator.php +++ b/phpBB/includes/db/migrator.php @@ -127,6 +127,8 @@ class phpbb_db_migrator 'migration_schema_done' => false, 'migration_data_done' => false, 'migration_data_state' => '', + 'migration_start_time' => 0, + 'migration_end_time' => 0, ); $depends = $migration->depends_on(); @@ -141,6 +143,12 @@ class phpbb_db_migrator } } + if (!isset($this->migration_state[$name])) + { + $state['migration_start_time'] = time(); + $this->insert_migration($name, $state); + } + if (!$state['migration_schema_done']) { $migration->update_schema(); @@ -150,6 +158,7 @@ class phpbb_db_migrator { $migration->update_data(); $state['migration_data_done'] = true; + $state['migration_end_time'] = time(); } $sql = 'UPDATE ' . $this->migrations_table . ' @@ -162,6 +171,18 @@ class phpbb_db_migrator return true; } + function insert_migration($name, $state) + { + $migration_row = $state; + $migration_row['migration_name'] = $name; + + $sql = 'INSERT INTO ' . $this->migrations_table . ' + ' . $this->db->sql_build_array('INSERT', $migration_row); + $this->db->sql_query($sql); + + $this->migration_state[$name] = $state; + } + /** * Checks if a migration's dependencies can even theoretically be satisfied. * |