From eee65b8c22d7db144f1943f624af699ed0c32819 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Sun, 16 Nov 2014 17:48:50 -0600 Subject: [PATCH] Special Abilities column fix for older updates and newer database engines for the automatic database updater. db_update.pl changes Manifest update --- utils/scripts/db_update.pl | 10 +++++++--- utils/sql/db_update_manifest.txt | 2 +- .../git/required/2013_07_11_NPC_Special_Abilities.sql | 1 + .../git/required/2013_10_12_Merc_Special_Abilities.sql | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/scripts/db_update.pl b/utils/scripts/db_update.pl index 33a493cd1..5b8b44712 100644 --- a/utils/scripts/db_update.pl +++ b/utils/scripts/db_update.pl @@ -77,6 +77,11 @@ mkdir('db_update'); # print `"$path" --user $user --password="$pass" $db < db_update/db_update_run_file.txt`; #::: Check if db_version table exists... +if(trim(GetMySQLResult("SHOW COLUMNS FROM `db_version` LIKE 'Revision'")) ne ""){ + print GetMySQLResult("DROP TABLE db_version"); + print "Old `db_version` table present, dropping...\n\n"; +} + if(GetMySQLResult("SHOW TABLES LIKE 'db_version'") eq ""){ print GetMySQLResult(" CREATE TABLE `db_version` ( @@ -253,7 +258,8 @@ sub Run_Database_Check{ print "Running Update: " . $val . " - " . $file_name . "\n"; print GetMySQLResultFromFile("db_update/$file_name"); print GetMySQLResult("UPDATE `db_version` SET `version` = $val"); - } + } + print "Continuing World Bootup...\n"; return; } @@ -357,5 +363,3 @@ sub print_break{ if(!$debug){ return; } print "\n==============================================\n"; } - -if($ARGV[0] eq "ran_from_world"){ print "Continuing World Bootup...\n"; } \ No newline at end of file diff --git a/utils/sql/db_update_manifest.txt b/utils/sql/db_update_manifest.txt index 405394a39..1310e0753 100644 --- a/utils/sql/db_update_manifest.txt +++ b/utils/sql/db_update_manifest.txt @@ -291,7 +291,7 @@ 9032|2014_04_12_SlowMitigation.sql|SHOW COLUMNS FROM `npc_types` LIKE 'slow_mitigation'|contains|float 9034|2014_04_25_spawn_events.sql|SHOW COLUMNS FROM `spawn_events` LIKE 'strict'|empty| 9035|2014_04_27_AISpellEffects.sql|SHOW COLUMNS FROM `npc_types` LIKE 'npc_spells_effects_id'|empty| -9036|2014_05_04_SlowMitigationFix.sql|SHOW COLUMNS FROM `npc_types` LIKE 'slow_mitigation'|empty| +9036|2014_05_04_SlowMitigationFix.sql|SHOW COLUMNS FROM `npc_types` LIKE 'slow_mitigation'|contains|float 9038|2014_06_25_AA_Updates.sql|SELECT * FROM `altadv_vars` WHERE `skill_id` = '1604'|empty 9039|2014_07_04_AA_Updates.sql|SELECT * FROM `aa_effects` WHERE `aaid` = '158' AND `slot` = '1' AND `effectid` = '238'|empty 9040|2014_07_10_npc_spells.sql|SHOW COLUMNS FROM `npc_spells` LIKE 'engaged_no_sp_recast_min'|empty| diff --git a/utils/sql/git/required/2013_07_11_NPC_Special_Abilities.sql b/utils/sql/git/required/2013_07_11_NPC_Special_Abilities.sql index dfcdfd552..79e322401 100644 --- a/utils/sql/git/required/2013_07_11_NPC_Special_Abilities.sql +++ b/utils/sql/git/required/2013_07_11_NPC_Special_Abilities.sql @@ -1,4 +1,5 @@ ALTER TABLE `npc_types` ADD COLUMN `special_abilities` TEXT NOT NULL DEFAULT '' AFTER `npcspecialattks`; +ALTER TABLE `npc_types` MODIFY COLUMN `special_abilities` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; UPDATE npc_types SET special_abilities = CONCAT(special_abilities, "1,1^") WHERE npcspecialattks LIKE BINARY '%S%'; UPDATE npc_types SET special_abilities = CONCAT(special_abilities, "2,1^") WHERE npcspecialattks LIKE BINARY '%E%'; diff --git a/utils/sql/git/required/2013_10_12_Merc_Special_Abilities.sql b/utils/sql/git/required/2013_10_12_Merc_Special_Abilities.sql index 740bf7517..46fbb1012 100644 --- a/utils/sql/git/required/2013_10_12_Merc_Special_Abilities.sql +++ b/utils/sql/git/required/2013_10_12_Merc_Special_Abilities.sql @@ -1,4 +1,5 @@ ALTER TABLE `merc_stats` ADD COLUMN `special_abilities` TEXT NOT NULL DEFAULT '' AFTER `specialattks`; +ALTER TABLE `merc_stats` MODIFY COLUMN `special_abilities` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; UPDATE merc_stats SET special_abilities = CONCAT(special_abilities, "1,1^") WHERE specialattks LIKE BINARY '%S%'; UPDATE merc_stats SET special_abilities = CONCAT(special_abilities, "2,1^") WHERE specialattks LIKE BINARY '%E%';