From e0f10c046ea82d58e4077290111d6fc865766567 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 15:40:57 +0100 Subject: [PATCH 1/5] [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); + } + } + } +} +?> From 4bf899bb84d37d243c1ec31c003628ad2b7ef6a9 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 15:42:25 +0100 Subject: [PATCH 2/5] [FIX] Proper version in base import sql --- sql/000_base_structure.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/000_base_structure.sql b/sql/000_base_structure.sql index d805ef25..48b7b3dd 100644 --- a/sql/000_base_structure.sql +++ b/sql/000_base_structure.sql @@ -144,7 +144,7 @@ CREATE TABLE IF NOT EXISTS `settings` ( UNIQUE KEY `setting` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.15'); +INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '1.0.0'); CREATE TABLE IF NOT EXISTS `shares` ( `id` bigint(30) NOT NULL AUTO_INCREMENT, From da08b6a217505caa78ebdfec2064cd95135cb0f7 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 16:04:32 +0100 Subject: [PATCH 3/5] [FIX] Properly run the upgrade --- include/version.inc.php | 6 +++--- upgrade/definitions/0.0.15_to_1.0.0.inc.php | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/version.inc.php b/include/version.inc.php index 1007908c..9c1b9065 100644 --- a/include/version.inc.php +++ b/include/version.inc.php @@ -1,9 +1,9 @@ getValue('DB_VERSION'); // Our actual version installed // Upgrade specific variables - $aSql[] = "ALTER TABLE `blocks` CHANGE `shares` `shares` BIGINT(30) unsigned NOT NULL AUTO_INCREMENT"; + $aSql[] = "ALTER TABLE `blocks` CHANGE `shares` `shares` BIGINT(30) unsigned DEFAULT NULL"; + $aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '1.0.0' WHERE name = 'DB_VERSION'"; if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { // Run the upgrade From ecb9870827bc164659653cfc2193e669ecd8f375 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 16:13:00 +0100 Subject: [PATCH 4/5] [UPDATE] Changelog to indicate 1.0.0 readiness --- CHANGELOG.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdf664dd..83308a3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,4 @@ -0.0.1 (Mar 7th 2013) +1.0.0 (Jan 18th 2015) -------------------- -* WiP Upload of all files currently available -* Added upstream script collections -* Added SQL structure +* First (non-beta) public release of MPOS From af69042304984793fdb9b105f2e53b5556203425 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 18 Jan 2015 16:13:18 +0100 Subject: [PATCH 5/5] [VERSION] 1.0.0 Global Config --- include/config/global.inc.dist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/config/global.inc.dist.php b/include/config/global.inc.dist.php index f35c9bf4..bc8ce5bf 100644 --- a/include/config/global.inc.dist.php +++ b/include/config/global.inc.dist.php @@ -6,7 +6,7 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; * Also the URL to check for the most recent upstream versions available * https://github.com/MPOS/php-mpos/wiki/Config-Setup#wiki-config-version **/ -$config['version'] = '0.0.8'; +$config['version'] = '1.0.0'; $config['version_url'] = 'https://raw.githubusercontent.com/MPOS/php-mpos/master/include/version.inc.php'; /**