aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2011-08-07 19:10:38 -0400
committerNathan Guse <nathaniel.guse@gmail.com>2013-01-09 16:39:59 -0600
commitd304b6449db6e7c6f3c9058062aca0c641f023a4 (patch)
tree49e4db234f5488211c78aa67b887d7a08f8e4b36 /phpBB/includes/db
parentf817e20f287a21e2dddfba9721f5e02dce162d29 (diff)
downloadforums-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.php21
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.
*