From e0f10c046ea82d58e4077290111d6fc865766567 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 15:40:57 +0100 Subject: [PATCH] [UPDATE] Shares to bigint for blocks table (#2382), SQL file cleanup --- sql/000_base_structure.sql | 2 +- sql/001_pplns_statistics.sql | 2 -- sql/002_settings_update.sql | 1 - sql/003_monitoring_update.sql | 1 - sql/004_blocks_worker.sql | 1 - sql/005_create_templates_table.sql | 7 ----- sql/006_txid_transactions.sql | 1 - sql/007_accounts_update.sql | 1 - sql/008_shares_archive_optimization.sql | 4 --- sql/009_tokentype_update.sql | 2 -- sql/010_tokentype_update.sql | 1 - sql/011_db_version.sql | 2 -- upgrade/definitions/0.0.15_to_1.0.0.inc.php | 29 +++++++++++++++++++++ 13 files changed, 30 insertions(+), 24 deletions(-) delete mode 100644 sql/001_pplns_statistics.sql delete mode 100644 sql/002_settings_update.sql delete mode 100644 sql/003_monitoring_update.sql delete mode 100644 sql/004_blocks_worker.sql delete mode 100644 sql/005_create_templates_table.sql delete mode 100644 sql/006_txid_transactions.sql delete mode 100644 sql/007_accounts_update.sql delete mode 100644 sql/008_shares_archive_optimization.sql delete mode 100644 sql/009_tokentype_update.sql delete mode 100644 sql/010_tokentype_update.sql delete mode 100644 sql/011_db_version.sql create mode 100755 upgrade/definitions/0.0.15_to_1.0.0.inc.php diff --git a/sql/000_base_structure.sql b/sql/000_base_structure.sql index aeed52f6..d805ef25 100644 --- a/sql/000_base_structure.sql +++ b/sql/000_base_structure.sql @@ -46,7 +46,7 @@ CREATE TABLE IF NOT EXISTS `blocks` ( `accounted` tinyint(1) NOT NULL DEFAULT '0', `account_id` int(255) unsigned DEFAULT NULL, `worker_name` varchar(50) DEFAULT 'unknown', - `shares` int(255) unsigned DEFAULT NULL, + `shares` bigint(30) unsigned DEFAULT NULL, `share_id` bigint(30) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `height` (`height`,`blockhash`), diff --git a/sql/001_pplns_statistics.sql b/sql/001_pplns_statistics.sql deleted file mode 100644 index 95ec5247..00000000 --- a/sql/001_pplns_statistics.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `statistics_shares` ADD `pplns_valid` int(11) NOT NULL AFTER `invalid` ; -ALTER TABLE `statistics_shares` ADD `pplns_invalid` int(11) NOT NULL DEFAULT 0 AFTER `pplns_valid` ; diff --git a/sql/002_settings_update.sql b/sql/002_settings_update.sql deleted file mode 100644 index 14755617..00000000 --- a/sql/002_settings_update.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `settings` CHANGE `value` `value` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ; diff --git a/sql/003_monitoring_update.sql b/sql/003_monitoring_update.sql deleted file mode 100644 index 46d8e6b2..00000000 --- a/sql/003_monitoring_update.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `monitoring` CHANGE `value` `value` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ; diff --git a/sql/004_blocks_worker.sql b/sql/004_blocks_worker.sql deleted file mode 100644 index bc1e147c..00000000 --- a/sql/004_blocks_worker.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `blocks` ADD `worker_name` varchar(50) DEFAULT 'unknown' AFTER `account_id`; \ No newline at end of file diff --git a/sql/005_create_templates_table.sql b/sql/005_create_templates_table.sql deleted file mode 100644 index 6e7646ba..00000000 --- a/sql/005_create_templates_table.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE TABLE `templates` ( - `template` varchar(255) NOT NULL, - `active` tinyint(1) NOT NULL DEFAULT 0, - `content` mediumtext, - `modified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`template`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/sql/006_txid_transactions.sql b/sql/006_txid_transactions.sql deleted file mode 100644 index 862b4d10..00000000 --- a/sql/006_txid_transactions.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `transactions` ADD `txid` VARCHAR( 256 ) NULL DEFAULT NULL AFTER `timestamp` ; diff --git a/sql/007_accounts_update.sql b/sql/007_accounts_update.sql deleted file mode 100644 index ae83fe7b..00000000 --- a/sql/007_accounts_update.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `accounts` ADD `failed_pins` INT NOT NULL AFTER `failed_logins` ; diff --git a/sql/008_shares_archive_optimization.sql b/sql/008_shares_archive_optimization.sql deleted file mode 100644 index 556e474a..00000000 --- a/sql/008_shares_archive_optimization.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE `shares_archive` ADD INDEX ( `username` ) ; -ALTER TABLE `shares_archive` ADD INDEX ( `share_id` ) ; -ALTER TABLE `shares_archive` ADD INDEX ( `our_result` ) ; -ALTER TABLE `shares_archive` ADD INDEX ( `time` ) ; diff --git a/sql/009_tokentype_update.sql b/sql/009_tokentype_update.sql deleted file mode 100644 index bacbc551..00000000 --- a/sql/009_tokentype_update.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `token_types` ADD `expiration` INT NULL DEFAULT '0'; -UPDATE `token_types` SET `expiration` = 3600 WHERE `id` = 1; diff --git a/sql/010_tokentype_update.sql b/sql/010_tokentype_update.sql deleted file mode 100644 index 2dc0c8f1..00000000 --- a/sql/010_tokentype_update.sql +++ /dev/null @@ -1 +0,0 @@ -INSERT INTO `token_types` (`name`, `expiration`) VALUES ('account_unlock', 0); diff --git a/sql/011_db_version.sql b/sql/011_db_version.sql deleted file mode 100644 index 1efd1cdd..00000000 --- a/sql/011_db_version.sql +++ /dev/null @@ -1,2 +0,0 @@ -INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.1') ON DUPLICATE KEY UPDATE `value` = '0.0.1'; -INSERT INTO `settings` (`name`, `value`) VALUES ('db_upgrade_required', 0) ON DUPLICATE KEY UPDATE `value` = 0; diff --git a/upgrade/definitions/0.0.15_to_1.0.0.inc.php b/upgrade/definitions/0.0.15_to_1.0.0.inc.php new file mode 100755 index 00000000..c7a2eae1 --- /dev/null +++ b/upgrade/definitions/0.0.15_to_1.0.0.inc.php @@ -0,0 +1,29 @@ +getValue('DB_VERSION'); // Our actual version installed + + // Upgrade specific variables + $aSql[] = "ALTER TABLE `blocks` CHANGE `shares` `shares` BIGINT(30) unsigned NOT NULL AUTO_INCREMENT"; + + 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); + } + } + } +} +?>