From 131fb72006ae7273ec3ae714a7ac32c048e06bcb Mon Sep 17 00:00:00 2001 From: zergtmn Date: Tue, 3 Aug 2010 04:03:42 +0400 Subject: [PATCH] [10312] Allow store in DB same spell auras from different casters. This fix errors at auras save to DB for like cases. Signed-off-by: VladimirMangos --- sql/characters.sql | 6 +++--- sql/updates/10312_01_characters_character_aura.sql | 4 ++++ sql/updates/10312_02_characters_pet_aura.sql | 4 ++++ sql/updates/Makefile.am | 4 ++++ src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 6 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 sql/updates/10312_01_characters_character_aura.sql create mode 100644 sql/updates/10312_02_characters_pet_aura.sql diff --git a/sql/characters.sql b/sql/characters.sql index 4d00b432f..880a8b80a 100644 --- a/sql/characters.sql +++ b/sql/characters.sql @@ -21,7 +21,7 @@ DROP TABLE IF EXISTS `character_db_version`; CREATE TABLE `character_db_version` ( - `required_10254_01_characters_auctionhouse` bit(1) default NULL + `required_10312_02_characters_pet_aura` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Last applied sql update to DB'; -- @@ -383,7 +383,7 @@ CREATE TABLE `character_aura` ( `remaintime1` INT(11) NOT NULL DEFAULT '0', `remaintime2` INT(11) NOT NULL DEFAULT '0', `effIndexMask` INT(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`guid`,`spell`) + PRIMARY KEY (`guid`,`caster_guid`,`spell`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Player System'; -- @@ -1468,7 +1468,7 @@ CREATE TABLE `pet_aura` ( `remaintime1` INT(11) NOT NULL DEFAULT '0', `remaintime2` INT(11) NOT NULL DEFAULT '0', `effIndexMask` INT(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`guid`,`spell`) + PRIMARY KEY (`guid`,`caster_guid`,`spell`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Pet System'; -- diff --git a/sql/updates/10312_01_characters_character_aura.sql b/sql/updates/10312_01_characters_character_aura.sql new file mode 100644 index 000000000..a3d12cf17 --- /dev/null +++ b/sql/updates/10312_01_characters_character_aura.sql @@ -0,0 +1,4 @@ +ALTER TABLE character_db_version CHANGE COLUMN required_10254_01_characters_auctionhouse required_10312_01_characters_character_aura bit; + +ALTER TABLE `character_aura` DROP PRIMARY KEY; +ALTER TABLE `character_aura` ADD PRIMARY KEY (`guid`,`caster_guid`,`spell`); diff --git a/sql/updates/10312_02_characters_pet_aura.sql b/sql/updates/10312_02_characters_pet_aura.sql new file mode 100644 index 000000000..67cf98b07 --- /dev/null +++ b/sql/updates/10312_02_characters_pet_aura.sql @@ -0,0 +1,4 @@ +ALTER TABLE character_db_version CHANGE COLUMN required_10312_01_characters_character_aura required_10312_02_characters_pet_aura bit; + +ALTER TABLE `pet_aura` DROP PRIMARY KEY; +ALTER TABLE `pet_aura` ADD PRIMARY KEY (`guid`,`caster_guid`,`spell`); diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 67aaad532..13aeb2f3f 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -64,6 +64,8 @@ pkgdata_DATA = \ 10307_01_mangos_instance_template.sql \ 10307_02_mangos_scripted_areatrigger.sql \ 10307_03_mangos_scripted_event_id.sql \ + 10312_01_characters_character_aura.sql \ + 10312_02_characters_pet_aura.sql \ README ## Additional files to include when running 'make dist' @@ -108,4 +110,6 @@ EXTRA_DIST = \ 10307_01_mangos_instance_template.sql \ 10307_02_mangos_scripted_areatrigger.sql \ 10307_03_mangos_scripted_event_id.sql \ + 10312_01_characters_character_aura.sql \ + 10312_02_characters_pet_aura.sql \ README diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index c28b56b14..4419927f8 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10311" + #define REVISION_NR "10312" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 65e058042..ec85bf203 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ - #define REVISION_DB_CHARACTERS "required_10254_01_characters_auctionhouse" + #define REVISION_DB_CHARACTERS "required_10312_02_characters_pet_aura" #define REVISION_DB_MANGOS "required_10307_03_mangos_scripted_event_id" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__