From 1f6ef81b9c3f690b180bf088d00a66840bec235f Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Fri, 21 Mar 2014 12:47:24 +0100 Subject: [PATCH] [ADDED] SQL Upgrade Script --- public/include/version.inc.php | 2 +- upgrade/db_version_0.0.8.php | 36 ++++++++++++++++++++++++ upgrade/shared.inc.php | 51 ++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100755 upgrade/db_version_0.0.8.php create mode 100644 upgrade/shared.inc.php diff --git a/public/include/version.inc.php b/public/include/version.inc.php index 7244eb91..a9065e8c 100644 --- a/public/include/version.inc.php +++ b/public/include/version.inc.php @@ -2,7 +2,7 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; define('MPOS_VERSION', '0.0.4'); -define('DB_VERSION', '0.0.7'); +define('DB_VERSION', '0.0.8'); define('CONFIG_VERSION', '0.0.7'); // Fetch installed database version diff --git a/upgrade/db_version_0.0.8.php b/upgrade/db_version_0.0.8.php new file mode 100755 index 00000000..de58dd30 --- /dev/null +++ b/upgrade/db_version_0.0.8.php @@ -0,0 +1,36 @@ +#!/usr/bin/php +getValue('DB_VERSION'); // Our actual version installed + +// Upgrade specific variables +$dDifficulty = POW(2, ($config['difficulty'] - 16)); +$aSql[] = "UPDATE " . $statistics->getTableName() . " SET valid = valid * $dDifficulty, invalid = invalid * $dDifficulty, pplns_valid = pplns_valid * $dDifficulty, pplns_invalid = pplns_invalid * $dDifficulty"; +$aSql[] = "UPDATE " . $block->getTableName() . " SET shares = shares * $dDifficulty"; +$aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '0.0.8' WHERE name = 'DB_VERSION'"; + +if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { + // Run the upgrade + echo 'Starting database migration to version ' . $db_version_new . PHP_EOL; + foreach ($aSql as $sql) { + echo ' Preparing: ' . $sql . PHP_EOL; + $stmt = $mysqli->prepare($sql); + if ($stmt && $stmt->execute()) { + echo ' success' . PHP_EOL; + } else { + echo ' failed: ' . $mysqli->error . PHP_EOL; + exit(1); + } + } +} +?> diff --git a/upgrade/shared.inc.php b/upgrade/shared.inc.php new file mode 100644 index 00000000..0f0638cb --- /dev/null +++ b/upgrade/shared.inc.php @@ -0,0 +1,51 @@ +