diff options
author | Andrew Dolgov <[email protected]> | 2021-03-02 15:03:01 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-03-02 15:03:01 +0300 |
commit | d6629ed18863f797d34ebdc65815d7af21cb8332 (patch) | |
tree | a72a114c576f2aa15710d18a8090a9bced9c56ba /classes/dbupdater.php | |
parent | 86b12fc06c33fe742ac4035a031716674bdb6462 (diff) |
move dbupdater to db/updater; move base SCHEMA_VERSION constant inside db/updater class
Diffstat (limited to 'classes/dbupdater.php')
-rw-r--r-- | classes/dbupdater.php | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/classes/dbupdater.php b/classes/dbupdater.php deleted file mode 100644 index d1df31b40..000000000 --- a/classes/dbupdater.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -class DbUpdater { - - private $pdo; - private $db_type; - private $need_version; - - function __construct($pdo, $db_type, $need_version) { - $this->pdo = $pdo; - $this->db_type = $db_type; - $this->need_version = (int) $need_version; - } - - function get_schema_version() { - return Config::get_schema_version(true); - } - - function is_update_required() { - return $this->get_schema_version() < $this->need_version; - } - - function get_schema_lines($version) { - $filename = "schema/versions/".$this->db_type."/$version.sql"; - - if (file_exists($filename)) { - return explode(";", (string)preg_replace("/[\r\n]/", "", (string)file_get_contents($filename))); - } else { - user_error("DB Updater: schema file for version $version is not found."); - return false; - } - } - - function update_to($version, $html_output = true) { - if ($this->get_schema_version() == $version - 1) { - - $lines = $this->get_schema_lines($version); - - if (is_array($lines)) { - - $this->pdo->beginTransaction(); - - foreach ($lines as $line) { - if (strpos($line, "--") !== 0 && $line) { - - if ($html_output) - print "<pre>$line</pre>"; - else - Debug::log("> $line"); - - try { - $this->pdo->query($line); // PDO returns errors as exceptions now - } catch (PDOException $e) { - if ($html_output) { - print "<div class='text-error'>Error: " . $e->getMessage() . "</div>"; - } else { - Debug::log("Error: " . $e->getMessage()); - } - - $this->pdo->rollBack(); - return false; - } - } - } - - $db_version = $this->get_schema_version(); - - if ($db_version == $version) { - $this->pdo->commit(); - return true; - } else { - $this->pdo->rollBack(); - return false; - } - } else { - return false; - } - } else { - return false; - } - } - -} |